Fechar Form Delphi
13/02/2019
0
Bom dia!!
Parece uma pergunta boba, mas sou iniciante em delphi, e passei a tarde toda tentando fechar um formulario em um projeto.
Acontece o seguinte, tenho o FormPrincipal, nele eu chamo um form secundario, (form2), utilizando o seguinte código
Bem, feito isso, depois o usuario vai acessar um outro form, vamos chamar de form3, no qual é utilizando a mesma sintaxe, contudo, não consigo fechar esse form3 e abrir o form2.
Tente utilizar o close, hide, release, todos sem sucesso, o erro que dá é sempre Access Violation.
Pode ser falta de experiencia, ou algo do tipo mas a minha pergunta é a seguinte.
Como eu faço para fechar o form3 e abrir o form2? Se puderem me explicar, mostrando o código e se possivel, explicando o código ficarei grato!!
Obrigado pela atenção!!!
Parece uma pergunta boba, mas sou iniciante em delphi, e passei a tarde toda tentando fechar um formulario em um projeto.
Acontece o seguinte, tenho o FormPrincipal, nele eu chamo um form secundario, (form2), utilizando o seguinte código
var Form2: TFrm2; begin Form2:=TFrm2.create(self); Form2.showmodal;
Bem, feito isso, depois o usuario vai acessar um outro form, vamos chamar de form3, no qual é utilizando a mesma sintaxe, contudo, não consigo fechar esse form3 e abrir o form2.
Tente utilizar o close, hide, release, todos sem sucesso, o erro que dá é sempre Access Violation.
Pode ser falta de experiencia, ou algo do tipo mas a minha pergunta é a seguinte.
Como eu faço para fechar o form3 e abrir o form2? Se puderem me explicar, mostrando o código e se possivel, explicando o código ficarei grato!!
Obrigado pela atenção!!!
Giovani Mendes
Curtir tópico
+ 0
Responder
Posts
13/02/2019
Natanael Ferreira
Seus Forms Form2 e Form3 estão como Available Forms ou AutoCreate Forms? Sugiro que coloque como Available Forms para economia de memória.
Veja este link para melhor entendimento:
https://sodelphi.wordpress.com/2009/10/28/autocreate-forms-x-available-forms/
Feito isso, vamos ao código:
Criar Form2:
Criar Form3:
No evento OnClose de cada form use o código abaixo para liberação de memória:
Veja este link para melhor entendimento:
https://sodelphi.wordpress.com/2009/10/28/autocreate-forms-x-available-forms/
Feito isso, vamos ao código:
Criar Form2:
Form2 := TForm2.Create(Self); Form2.ShowModal;
Criar Form3:
Form3 := TForm3.Create(Self); Form3.ShowModal;
No evento OnClose de cada form use o código abaixo para liberação de memória:
Action := caFree;
Responder
13/02/2019
Daniel Araújo
Se o form FormStyle do formulário for do tipo fsNormal, só o close já era para resolver. Se for do tipo fsMDIChild, precisa tirar da memória com o Action := caFree
Responder
Clique aqui para fazer login e interagir na Comunidade :)