problemas com form na memoria

25/02/2006

0

pessoal eu faço a seguinte verificacao antes de abrir uma query

if form_clientes <> nil then
begin
comandos
....
end

se o form NÃO estiver criado, então eu abro uma query.


mas dá um erro de access violation, como se o form ainda estivesse criado...COMO FAÇO PARA DELETAR O FORM DA MEMÓRIA...

já usei ACTION:=CAFREE no evento ONCLOSE, mas não funcionou....


Rafael Santana

Rafael Santana

Responder

Posts

25/02/2006

Marco Salles

mas dá um erro de access violation, como se o form ainda estivesse criado...COMO FAÇO PARA DELETAR O FORM DA MEMÓRIA...


este assunto é sempre muito discutido... Depende de com voce esta criando os seus forms se são auto criados se são MDIS etc...

o que acontece que a instrução :
if form_clientes <> nil then
testa apenas se o ponteiro não e nil , mas não verifica se este ponteiro é valido

no seu caso posso arriscar um palpite por este comentario

já usei ACTION:=CAFREE no evento ONCLOSE, mas não funcionou....


alem do cafree coloque nomeform:=nil , no evento onclose
tipo isso

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form2:=nil;
action:=Cafree;
end;


existe ainda métodos como o FreandNil etc.. mas com eu disse , o melhor ataque depende de com esses forms estão sendo criados...


Responder

25/02/2006

Rafael Santana

amigo...cara, deu certinho..

muito obrigado

:D


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar