Fórum Erro ao fechar aplicação! Erro quot;FFFFFFquot; #243605

19/07/2004

0

Colegas..

Criei um componenteque gera uma aplicação para formatação de relatórios via usuário, mas estou com um problema, todas as vezes que vou fechar a minha aplicação de relatórios, dá um erro de acesso..

FFFFFFF...

já verifiquei, e todos os componentes estão sendo liberados, assim como suas variáveis..

Não sei o pq mas só acontece quando eu abro um determinado form..

Alguém poderia me ajudar??

Agradeço antecipadamente

Cabelo


Cabelo

Cabelo

Responder

Posts

19/07/2004

Rômulo Barros

Faça um laço em todos os componentes(forms) da sua aplicação e verifique quem é que é diferente de nil .


Responder

Gostei + 0

19/07/2004

Cabelo

Colega..

Eu fiz o que vc sugeriu, e não tinha nenhuma variável, que não fosse nil, e ainda fiz uma rotina assim :

if assigned(variavel) then
begin
variavel.free;
end;

e mesmo assim continua dando erro..

O quê será ?

Cabelo


Responder

Gostei + 0

19/07/2004

Beppe

Um objeto(um form ou outro componente) está sendo destruído duas vezes. Uma solução(drástica) é comentar todos os free. Depois vc pode incluí-los novamente quando achar o erro.


Responder

Gostei + 0

20/07/2004

Cabelo

Caro Colega Beppe..

Eu fiz o quê vc sugeriu..

Mas com certezanão estou ´matando´ duas vezes um objeto, já que debuguei várias vezes o meu projeto..

Só está dando erro quando finaliza a última linha do form Inicial do componente..

depois do end;

Agora o problema aumentou.. quando clico no menu da aplicação principal, pela segunda vez, dá erro..

Se puder me ajudar eu agradeço muito..

Cabelo


Responder

Gostei + 0

21/07/2004

Persist

Comigo aconteceu quando criava um objeto em execução, definia seu Parent e liberava o Parent antes do objeto.
Daí no For que liberava os objetos criados em execução, se fosse um TWinControl, atribuia nil à propriedade Parent antes de dar Free.


Responder

Gostei + 0

22/07/2004

Cabelo

Eu fiz exatamente como o amigo Persist sugeriu, mas continua dando o erro..

todas as vezes que fecho o form Inicial, dá o erro..

mais alguam sugestão???

agradeço a todos a atenção..

Cabelo


Responder

Gostei + 0

22/07/2004

Beppe

O que vc tem no Destroy e Close do form?


Responder

Gostei + 0

22/07/2004

Cabelo

No destroy, não tenho nada..

No Close :

procedure TRELATORIO.P_FormCloseRE(Sender : TObject; var Action : TCloseAction);
begin
P_DestroyComponentsConnection(´frmRE´);
//destroi componentes de acesso ao banco de dados, relacionados a este form
P_DestroyComponents(´frmRE´);
//destroi os componentes (objetos) do form
s_form_RE.Release;
//libera o form da memória
s_form_inicial.ShowModal;
//joga o foco para o form principal
end;

não consigo achar um erro..

agradeço a atenção de todos

Cabelo


Responder

Gostei + 0

22/07/2004

Beppe

A AV se dá em que linha?


Responder

Gostei + 0

22/07/2004

Cabelo

No end.


Responder

Gostei + 0

22/07/2004

Beppe

Retire s_form_RE.Release;


Responder

Gostei + 0

22/07/2004

Cabelo

PQ??

Não vou liberar ele da memória, se entra de novo nesta tela, dá erro, dizendo que já existe o form que estou tentando criar..

Outra coisa, todos os outros 22 forms eu faço deste jeito e não dá erro.

Pq seria aí o erro?

Cabelo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar