Alguém tem uma explicação para isso?

Delphi

28/03/2003

Ao criar uma aplicação MDI - CLX com vários forms, um principal e vários MDIChilds e utilizando o seguinte código para abrir os forms filhos:

if (nomeform = nil) then
Application.CreateForm(Tnomeform, nomeform);
nomeform.BringToFront;
nomeform.SetFocus;

para fechar os forms filhos (no OnClose):

action := caFree;
nomeform := nil;


Ao abrir e fechar os forms várias vezes (muitas e muitas vezes) o programa emite mensagem ´Invalid Pointer Operation´, gostaria que aqueles que possuem o Delphi 7.0 Enterprise Edition fizessem o teste e verificassem se o problema também ocorre, caso ocorra por favor me respondam, ou se alguém tiver alguma idéia para contornar o problema ficarei muito agradecido.


Anonymous

Anonymous

Curtidas 0

Respostas

Poeta Noturno

Poeta Noturno

28/03/2003

Experimenta fazer o seguinte:

if nomedoform = nil then
begin
nomedoform := Tnomedoform.Create(Application);
nomedoform.show;
end
else
nomedoform.windowstate := wsNormal;
nomedoform.bringtofront;
end;

e ao fechar, inverta a codificação que vc já tem, ok?

Espero que funcione pra vc assim como funciona pra mim.

Um abraço

Poeta Noturno


GOSTEI 0
POSTAR