Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Didiron

[Resolvido] Ao fechar um form, como fechar um outro que já estava

Recommended Posts

Boa tarde, pessoal. Tudo bom?

 

Eu tenho uma dúvida, eu tenho um form chamado FrmConsultaLivros e um outro chamado FrmAdmLivros. Eu queria que ao clicar lá no x de fechar da janela do windows do meu programa, ele fechasse automaticamente um outro form que também está berto, por tráz deste. Ou seja, ao fechar o FrmConsultaLivros, feche também automaticamente o form FrmAdmLivros.

 

Tentei colocar no evento OnClose do FrmConsultaLivros o seguinte código:

 

FrmAdmLivros.Close;

Mas não funcionou pois o outro form continua aberto.

 

Alguem teria alguma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você faz assim. No on close do FrmConsultaLivros você coloca FrmAdmLivros.hide;

Ai a janela vai ficar escondida não podendo ser alterada mais. Ou se você tá querendo finalizar a aplicaçã

ao clicar no botão de fechar então coloca no evento onclose da duas form application.terminate;

 

Espero ter ajudado. falou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é Hunter. Obrigado pela ajuda.

Mas mesmo assim não funciona. Eu já tentei: .Hide e .Close

Mas nenhum deles funcionou. É como se eu não tivesse controle sobre este form, mesmamo ele estando declarado no Uses.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, pessoal. Tudo bom?

 

Eu tenho uma dúvida, eu tenho um form chamado FrmConsultaLivros e um outro chamado FrmAdmLivros. Eu queria que ao clicar lá no x de fechar da janela do windows do meu programa, ele fechasse automaticamente um outro form que também está berto, por tráz deste. Ou seja, ao fechar o FrmConsultaLivros, feche também automaticamente o form FrmAdmLivros.

 

Tentei colocar no evento OnClose do FrmConsultaLivros o seguinte código:

 

FrmAdmLivros.Close;

Mas não funcionou pois o outro form continua aberto.

 

Alguem teria alguma dica?

 

 

Didiron,

 

Pelo fato todo e qualquer Form que seja criado a partir do FRMPrincipal é fechado assim que você fechar ele, ja que o FRMPrincipal é o MainForm.

Agora em relação a forms criados a partir de outro, por ex:

 

Vou trabalhar com FRMCadastro e FRMAddCadastro sendo que este é chamado pelo FRMCadastro.

procedure TForm1.btnAddCadastroClick(Sender: TObject);

begin

if not Assigned(FRMAddCadastro) then

Application.CreateForm(TFRMAddCadastro,FRMAddCadastro);

FRMAddCadastro.ShowModal;

FreeAndNil(FRMAddCadastro);

end;

 

 

O comando showModal trava o controle da tela no FRMAddCadastro, dessa forma o FRMCadastro fica atras deste. Só ira fechar o FRMCadastro depois que fechar FRMAddCadastro.

A princípio não entendi muito bem sua pergunta, se o que falei acima for de ajuda para você ficarei feliz senão explique melhor o caso e quem sabe poderei realmente te ajudar.

 

Abraços

 

Daniel Oliveira

Programador de Sistemas.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, pessoal. Tudo bom?

 

Eu tenho uma dúvida, eu tenho um form chamado FrmConsultaLivros e um outro chamado FrmAdmLivros. Eu queria que ao clicar lá no x de fechar da janela do windows do meu programa, ele fechasse automaticamente um outro form que também está berto, por tráz deste. Ou seja, ao fechar o FrmConsultaLivros, feche também automaticamente o form FrmAdmLivros.

 

Tentei colocar no evento OnClose do FrmConsultaLivros o seguinte código:

 

FrmAdmLivros.Close;

Mas não funcionou pois o outro form continua aberto.

 

Alguem teria alguma dica?

 

Ola Didiron

temum jeito que faço mais eu coloco um button ou bitbtn e no comando onchage ou onclick coloco o sequinte comando

 

procedure TContatos.BitBtn1Click(Sender: TObject);

begin

if Application.MessageBox('Deseja realmente sair?','Atenção'

,mb_yesno+mb_defbutton2+mb_iconquestion) = id_no then

Exit;

 

halt;

end;

 

end.

 

tenta ai se funcionar do jeito que você quer :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

dhonathas felix, o comando exit faz a aplicaçào sair da procedure, seria mais "estético" se seu código ficasse desta forma:

procedure TContatos.BitBtn1Click(Sender: TObject);
 begin
   if MessageDLG('Deseja realmente sair?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
     halt;
 end;

Agora, confesso não conhecer o Application.MessageBox, vou estudar este comando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.