Você diz componentes como edits, botões, etc. Sim esses são destruídos
automaticamente pelo destructor do form.
Alessandro
-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Fabiano A. C.
Enviada em: terça-feira, 7 de março de 2006 22:44
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Dúvida: Destruir objeto? + uma.
Antes de tudo Alessandro,obrigado pela força!
Mas uma curiosidade:
Na parte que é gerenciada pelo delphi (Em quem vc coloca os
componentes
da barra no form), esse componente são destruidos automaticamente ao
destruir a classe ou necessitam de um destrutor?
TForm1 = class(TForm)
ClientDataSet1: TClientDataSet; // Precisa ser destruido
manualmente
pelo destrutor?
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Até +!
- Original Message -
From: Alessandro Fernandes [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Tuesday, March 07, 2006 5:56 PM
Subject: RES: [delphi-br] Dúvida: Destruir objeto?
Respostas abaixo...
-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em
nome de Fabiano A. C.
Enviada em: terça-feira, 7 de março de 2006 15:55
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Dúvida: Destruir objeto?
Certo, mas gostaria de saber se isto é automático ou preciso destruir o
objeto antes de destruir a classe?
EX1: Ao destruir este fica com o dataset na memória e só perde a
Referencia (Dúvida)
OBS1: De qualquer forma ele herda o destrutor de alguem, neste caso,
tcustonform
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
datasetX : tclientdataset;
end;
[Alessandro]
Neste caso o ClientDataset continuará ocupando espaço na memória.
OU
EX2:
OBS2: Neste, como o destrutor foi escrito, este oculta os destrutores
ancestrais (Tobject e etc).
Há algum contra em utilizar isto?
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
datasetx : tclientdataset;
destructor destroy();
end;
destructor tform1.destroy();
begin
datasetx.Destroy;
end;
[Alessandro]
No destructor faça assim:
FreeAndNil(datasetx);
inherited Destroy;
O inherited executa o destroy da classe pai.
Alessandro, obrigado pela resposta, e até +!
[Alessandro]
De nada
- Original Message -
From: Alessandro Fernandes [EMAIL PROTECTED]
To: delphi-br@yahoogrupos.com.br
Sent: Tuesday, March 07, 2006 2:41 PM
Subject: RES: [delphi-br] Dúvida: Destruir objeto?
Alguém vai ter que destruí-los. Quem, vai depender da sua aplicação, mas
alguém tem que fazer.
Alessandro Fernandes
-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em
nome de Fabiano A. C.
Enviada em: terça-feira, 7 de março de 2006 09:06
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Dúvida: Destruir objeto?
Saudações!
Criei uma classe que cria Clientdatasets em tempo de execucao,
gostaria
de saber se ao destruir esta classe esse objetos são destruidos
automaticamente ou ficam na memória, preciso criar um destrutor que
faça
isso?
Até +!
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 268.2.0/275 - Release Date:
6/3/2006
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 268.2.0/275 - Release Date: 6/3/2006
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
Links do Yahoo! Grupos
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 268.2.0/276 - Release Date: 7/3/2006
--
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM
* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
Links do Yahoo! Grupos
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
* O uso que você faz do Yahoo