Guiodai 0 Denunciar post Postado Novembro 20, 2007 Tenho um objeto que possui outro objeto, tipo assim: type TProtecoes = class(TImage) private ... lbNome: TLabel; ... { Private declarations } protected { Protected declarations } public constructor Create(AOwner: TComponent); override; destructor Destroy; override; ... { Public declarations } published ... property LabelNome: TLabel read lbNome write lbNome; ... { Published declarations } end; E implementei o método Destroy de TProtecoes para que destruisse o objeto LabelNome automaticamente. destructor TProtecoes.Destroy; begin LabelNome.Destroy; inherited; end; Isso funciona quando resolvo excluir um objeto TProtecoes mas quando fecho a aplicação ocorre um erro do tipo "Runtime Error 216". O que estou fazendo errado? Compartilhar este post Link para o post Compartilhar em outros sites
vitow 0 Denunciar post Postado Novembro 20, 2007 você já tento da sguinte maneira: destructor TProtecoes.Destroy; begin LabelNome.Release; LabelNome := nil; end; flw Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 21, 2007 O erro pode ocorrer também se esta tentando destruir um objeto mais de uma vez, pode colocar uma validação antes... if LabelNome <> nil then LabelNome.Destroy; Compartilhar este post Link para o post Compartilhar em outros sites
Guiodai 0 Denunciar post Postado Novembro 21, 2007 O erro pode ocorrer também se esta tentando destruir um objeto mais de uma vez, pode colocar uma validação antes... if LabelNome <> nil then LabelNome.Destroy; O método LabelNome.Release não foi reconhecido pelo compilador e o uso do if também não funcionou. Se quando o programa fosse fechado houvesse um objeto TProtecoes na memoria ele dava o mesmo erro. Se eu usar soh LabelNome := nill o que estou fazendo em termos de gerenciamento de memória? A memória ainda continua alocada para aquele objeto e eu apenas retirei a referência para aquele endereço de memória? Compartilhar este post Link para o post Compartilhar em outros sites