Fórum Erro ao fechar form #346269
19/09/2007
0
Saudações!!
Estou com um problema muito chato. Eu crei um exemplo com três telas:
- Principal
- Auxiliar
- Cadastro
Na tela Principal, criei um botão chamado auxiliar que vai abrir a tela Auxiliar. Esta, por sua vez, possui um botão que vai chamar a tela Cadastro e outro para fechar. A tela Cadastro possui dois botões, um para chamar a tela Auxiliar e outro para fechar.
No botão auxiliar da tela principal, coloquei o seguinte codigo:
try
frmAuxiliar := TfrmAuxiliar.Create(self);
frmAuxiliar.ShowModal;
if frmAuxiliar.ModalResult = mrOk then
begin
try
frmCadastro := TfrmCadastro.Create(self);
frmAbertura.ShowModal;
finally
freeandnil(frmCadastro)
end;
end;
finally
FreeAndNil(frmAuxiliar);
end;
No botão ok da tela aulixiliar, coloquei o codigo ´ModalResult := mrok;´ e no cancelar ´ModalResult := mrcancel;´
No botão ok da tela cadastro, coloque o código:
try
frmAuxiliar := TfrmAuxiliar.Create(self);
frmAuxiliar.ShowModal;
finally
FreeAndNil(frmAuxiliar);
end;
No botão fechar da tela cadastro, digitei close. É justamente aqui que está dando erro. Quando fecho esta tela, aparece aquela famosa mensagem access violation. A tela fecha, mas dá este erro.
Ainda não encontrei a solução, mas quem estiver sugestões melhores, por favor, postem.
Obrigado.
Rogério
Estou com um problema muito chato. Eu crei um exemplo com três telas:
- Principal
- Auxiliar
- Cadastro
Na tela Principal, criei um botão chamado auxiliar que vai abrir a tela Auxiliar. Esta, por sua vez, possui um botão que vai chamar a tela Cadastro e outro para fechar. A tela Cadastro possui dois botões, um para chamar a tela Auxiliar e outro para fechar.
No botão auxiliar da tela principal, coloquei o seguinte codigo:
try
frmAuxiliar := TfrmAuxiliar.Create(self);
frmAuxiliar.ShowModal;
if frmAuxiliar.ModalResult = mrOk then
begin
try
frmCadastro := TfrmCadastro.Create(self);
frmAbertura.ShowModal;
finally
freeandnil(frmCadastro)
end;
end;
finally
FreeAndNil(frmAuxiliar);
end;
No botão ok da tela aulixiliar, coloquei o codigo ´ModalResult := mrok;´ e no cancelar ´ModalResult := mrcancel;´
No botão ok da tela cadastro, coloque o código:
try
frmAuxiliar := TfrmAuxiliar.Create(self);
frmAuxiliar.ShowModal;
finally
FreeAndNil(frmAuxiliar);
end;
No botão fechar da tela cadastro, digitei close. É justamente aqui que está dando erro. Quando fecho esta tela, aparece aquela famosa mensagem access violation. A tela fecha, mas dá este erro.
Ainda não encontrei a solução, mas quem estiver sugestões melhores, por favor, postem.
Obrigado.
Rogério
Roger1976
Curtir tópico
+ 0
Responder
Posts
19/09/2007
Werlon Goulart
Coloque no Finally...
Minha_Var_Janela := Nil;
Minha_Var_Janela := Nil;
Responder
Gostei + 0
20/09/2007
Roger1976
valeu amigão, funcionou blz...
abraço,
abraço,
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)