 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
gerpiruk Novato

Registrado: Quinta-Feira, 11 de Outubro de 2012 Mensagens: 43
|
Enviada: Sex Out 12, 2012 7:29 pm Assunto: Ajuda com Evento oncreate do form (RESOLVIDO) |
|
|
Olá pessoal, tudo bem..
É o seguinte, tenho quatro forms e queria que quando o terceiro fosse aberto carregasse automaticamente uma mensagem tipo "Olá" até aqui tudo bem, o problema é que quando coloco no evento "oncreate" desse terceiro form o código para abrir a mensagem e executo o aplicativo ele abre a mensagem já de cara, sem que eu tenha clicado no botão que abre o terceiro form.
Não sei se fui claro, desculpe é que é a primeira vez que posto aqui.  _________________ Nada poderá nos separar do amor de Deus, que está em Cristo Jesus nosso Senhor.
Editado pela última vez por gerpiruk em Ter Fev 26, 2013 10:45 am, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Out 12, 2012 7:52 pm Assunto: |
|
|
Boa noite,
Não sei se é o que você quer, mas experimente passar o código que você colocou no evento OnCreate para o OnShow.
Espero que ajude.
Editado pela última vez por imex em Qua Out 04, 2023 2:56 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
gerpiruk Novato

Registrado: Quinta-Feira, 11 de Outubro de 2012 Mensagens: 43
|
Enviada: Sex Out 12, 2012 10:14 pm Assunto: |
|
|
Ja tentei porem a msg vem antes que o form se abra _________________ Nada poderá nos separar do amor de Deus, que está em Cristo Jesus nosso Senhor. |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sáb Out 13, 2012 12:11 am Assunto: |
|
|
| Experimente colocar o código no evento OnActivate. |
|
| Voltar ao Topo |
|
 |
vaninho Membro Junior

Registrado: Segunda-Feira, 16 de Outubro de 2006 Mensagens: 352
|
Enviada: Sáb Out 13, 2012 12:39 am Assunto: |
|
|
Olá Irmão, gerpiruk.
Realmente esta um pouco dificil entender o que vc deseja!.
vc tem 4 forms Ok.
vc deseja que o form3, vamos chamar ele assim só para entendimento,
carregue uma mensagem quando ele for aberto por um Botão,ok.
mas, me responta uma coisa, este botão esta em que form?
a pergunta é porque na explicação vc so fala do terceiro Form?
veja a sua Explicação:
tenho quatro forms e queria que quando o (terceiro) fosse aberto carregasse automaticamente uma mensagem tipo "Olá"
até aqui tudo bem, o problema é que quando coloco no evento "oncreate" desse (terceiro) form o código para abrir
a mensagem e executo o aplicativo ele abre a mensagem já de cara, sem que eu tenha clicado no botão que abre
o (terceiro) form.
coloquei em parenteses como vc só cita o terceiro form, diz sobre o botão mas não onde ele esta?.
o que da a entender que vc esta tendando tudo em um só form?
exemplo: form1 abre form2, form2 abre form3 que carregará a mensagem, form 3 abre form4 para ??????.
como vc fez a chamada deste forms, quem abre quem?
qual rotina esta usando para abrir os forms?
tente explicar melhor para podermos te ajudar ok.
ou como o imex disse tente colocar seu codigo no onactivate. |
|
| Voltar ao Topo |
|
 |
gerpiruk Novato

Registrado: Quinta-Feira, 11 de Outubro de 2012 Mensagens: 43
|
Enviada: Ter Out 16, 2012 10:52 pm Assunto: |
|
|
Então pessoal, não me expressei direito,
Suponha que você tenha um form "limpo sem nada"
nesse form "limpo sem nada" tem um botão
quando se clica nesse botão abre o segundo form "limpo sem nada também"
o que quero é que quando clico no botão abra o segundo form e ja apareça de cara um showmessage "olá".
tentativas:
* coloquei no evento "onactive" do segundo form [showmessage 'ola';], resultado: o showmessage abre junto com o aplicativo quando compilo.
* coloquei no evento "Show" do segundo form [showmessage 'ola';], resultado: o showmessage abre antes do segundo form aparecer e depois abre o form, ou seja o contrario do que eu preciso.
Acho que agora dá pra entender melhor, desculpe a demora para responder. _________________ Nada poderá nos separar do amor de Deus, que está em Cristo Jesus nosso Senhor. |
|
| Voltar ao Topo |
|
 |
leandroksc Profissional

Registrado: Quinta-Feira, 29 de Setembro de 2011 Mensagens: 528
|
Enviada: Ter Out 16, 2012 11:27 pm Assunto: |
|
|
Amigão, no OnCreate não vai dar certo pois provavelmente vc está criando todas as forms assim que o aplicativo é iniciado. Vá no menu Project -> Options, abra a guia Forms. Na lista da esquerda estão os forms em AutoCreate, assim, logo que vc executa a aplicação, todos os forms são criados e todos os eventos OnCreate são disparados... Neste caso vc tem algumas soluções:
Uma seria retirar os forms do AutoCreate, mas desta forma vc teria que criá-las no seu código e mesmo assim, utilizando o OnCreate, a mensagem apareceria antes do form ser exibido.
Uma outra opção seria vc colocar a mensagem no OnActivate, pois este evento é disparado após o OnCreate e após o OnShow. O problema com o OnActivate é que ele é disparado cada vez que vc seta o foco nesta form, ou seja, se vc tiver com duas ou mais forms abertas, ao clicar em outra form e voltar para a form que vc estava, este evendo é disparado novamente. Vc poderia controlar isso através de alguma Flag, identificando se o comando já foi executado ou não...
Outra opção seria no momento em que vc irá chamar a form para exibição. Logo após o comando Show, vc colocaria o ShowMessage. Neste caso vc não poderia usar ShowModal.
Espero que alguma solução dessas seja a idela pra vc. Caso não seja, veremos outras soluções... |
|
| Voltar ao Topo |
|
 |
gerpiruk Novato

Registrado: Quinta-Feira, 11 de Outubro de 2012 Mensagens: 43
|
Enviada: Qui Out 18, 2012 3:11 pm Assunto: |
|
|
Blz, vou fazer o que vç me falou.
1º - Como cria um form via código, pois eu so nene ainda no dephi e não sei
2º - O que é frag e como fazer nesse caso. _________________ Nada poderá nos separar do amor de Deus, que está em Cristo Jesus nosso Senhor. |
|
| Voltar ao Topo |
|
 |
gerpiruk Novato

Registrado: Quinta-Feira, 11 de Outubro de 2012 Mensagens: 43
|
Enviada: Ter Fev 26, 2013 10:44 am Assunto: |
|
|
| gerpiruk escreveu: | Blz, vou fazer o que vç me falou.
1º - Como cria um form via código, pois eu so nene ainda no dephi e não sei
2º - O que é frag e como fazer nesse caso. |
Ficou assim pessoal,
Para criar o form
:
Application.CreateForm(TForm1, Form1); -----Cria o form
Form1.ShowModal; ------------------------------Exibe o form
Form1.Free----------------------------------------Libera da Memória
E no evento onclose do form coloca
Action := caFree;---------------------------------Libera da Memória
Valeu a todos que ajudaram. _________________ Nada poderá nos separar do amor de Deus, que está em Cristo Jesus nosso Senhor. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|