Fórum Destruindo referência a Objetos #330793
05/10/2006
0
Procedure XXXXX;
Var
Form: Tform;
begin
Form := Tform.create(self);
Form := Form1; //Passando o Form1 para a variavel Form;
.
. //operações normais...
.
form.release // aqui está o problema
end;
O problema está em como liberar a memória para a Variavel Form, sem fechar o form1 que foi passado para a variável Form ?
Valeu galera...
Cabal
Curtir tópico
+ 0Posts
06/10/2006
Antseralves
Gostei + 0
06/10/2006
Marco Salles
Quando voce faz Form:=Form1,
voce esta atribuindo o ponteiro de form1 para o Form. Nesse momento tanto o objeto Form quanto o objeto Form1 aponta para a mesma posição da memoria , fazendo com que os mesmo passem a referir-se ao mesmo objeto , enquanto que o espaço da memoria que fora reservado quando voce alocou memoria usando o Create , ficara naõ referido , ou seja , sem referencia e portanto não tem como acessa-la
Construçoes desse tipo devem ser evitas no contexto Object pascal
Gostei + 0
06/10/2006
Siam
Form := Tform.create(self);
Form := Form1;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)