[delphi-br] esse procedimento pode estar gerando um Access violation ?

2007-09-10 Por tôpico alineri
Bom dia pessoal,

me deparei com o famoso Access violation em um procedimento simples 
que e fechar um formulario.

nunca tive esse erro em fechar forms, so que esse form e uma unica 
aplicacao ( nao tenho outros formularios ) e faco chamada a uma dll 
externa.

se abro o form sem executar nenhum procedimento e mando fechar ele 
fecha normalmente.

agora se abro a aplicacao e mando executar um procedimento que faz o 
seguinte:

1 - carrega um vetor com os dados dos edits
2 - chama as funcoes da dll

quando faco isso ja era, se mando fechar da Access violation

utilizo para fechar:

//evento onclose
action:=cafree

//ja tentei coloar no evento ondestroy
form1:= nil;
e tambem 
FreeAndNil(form1) ou
Form1.free ou 
form1.release

todos dao a mesma mensagem Access violation.

oq deve ser ?

um forte abraco a todos

eduardo



Re: [delphi-br] esse procedimento pode estar gerando um Access violation ?

2007-09-10 Por tôpico Alexandre Marinho da Silveira
Eduardo

O erro pode estar sendo gerado por uma tentativa de destruição de algum 
outro objeto que está inserido no form.  Pode ser até a DLL que esteja 
causando isso.  O melhor seria vc debugar linha a linha para descobrir 
onde isso está acontecendo.  Já passei por coisas assim e os erros 
acontecem onde a gente menos espera.  E na maioria dos casos, pelo menos 
pra mim, era uma bobagenzinha.  Pura falta de atenção ao tratar 
adequadamente um objeto.  Talvez seja esse o caso que está acontecendo aí.

Abraço

Alexandre

alineri escreveu:
 
 
 Bom dia pessoal,
 
 me deparei com o famoso Access violation em um procedimento simples
 que e fechar um formulario.
 
 nunca tive esse erro em fechar forms, so que esse form e uma unica
 aplicacao ( nao tenho outros formularios ) e faco chamada a uma dll
 externa.
 
 se abro o form sem executar nenhum procedimento e mando fechar ele
 fecha normalmente.
 
 agora se abro a aplicacao e mando executar um procedimento que faz o
 seguinte:
 
 1 - carrega um vetor com os dados dos edits
 2 - chama as funcoes da dll
 
 quando faco isso ja era, se mando fechar da Access violation
 
 utilizo para fechar:
 
 //evento onclose
 action:=cafree
 
 //ja tentei coloar no evento ondestroy
 form1:= nil;
 e tambem
 FreeAndNil(form1) ou
 Form1.free ou
 form1.release
 
 todos dao a mesma mensagem Access violation.
 
 oq deve ser ?
 
 um forte abraco a todos
 
 eduardo