Outro dia estava mexendo no 2007 e tive 'quase' este mesmo problema...digo quase porque o constructor que não estava sendo chamado. era uma classe simples...olhem
TPessoa = class private FName : String; FAge : Integer; FID : Integer; public procedure Ajustar(Name : String; Age, ID : Integer); end; e no entanto, poderia simplesmente chamar assim que funcionava sem "access violations"..notem que esta era a unico lugar que eu estava referenciando a classe (em nenhum lugar eu a criava) procedure TForm1.Button1Click(Sender: TObject); begin FPessoa.Ajustar('Elazar', 23, 1); end; então pra tirar a duvida coloquei um constructor....com um showmessage, mas mesmo depurando nunca passava pelo constructor. PS. estava usando o D2007...tem mais alguem ai que esta passando (passou) pelo mesmo...?se alguem quiser testar... Atenc; Elazar ----- Mensagem original ---- De: Leodinei Bielak <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Segunda-feira, 21 de Janeiro de 2008 13:03:41 Assunto: Re: [delphi-br] Destructor da Classe não está sendo chamado 2008/1/21 Joao Morais <[EMAIL PROTECTED] com.br>: > Leodinei Bielak wrote: > > 2008/1/21 Joao Morais <[EMAIL PROTECTED] com.br>: > >> Taí, Destroy não é estático. Copy/Paste algum trecho de código, do > >> contrário beira o impossível prestar alguma ajuda decente. > >> > >> Silenciar warnings não é um bom negócio, eles estão lá para te ajudar. > >> Você deve removê-los sem apelar para "as vias de fato". > > > > Pois é. Imagino que essa seja a classe mais simples que eu tenho. > > TLicensa = class(TObject) > > Licensa : string; > > Validade : TDate; > > public > > constructor Create; > > destructor Destroy; > > end; > > > > Mesmo tirando o public que tem ali dá o mesmo erro. > > Você está dizendo que, neste código, o compilador emite um erro se você > fizer: > > destructor Destroy; override; > > É isto? > > -- > Joao Morais > Exatamente. Eu eu clicar com o control no TObject ele mostra que no fonte está como virtual. Se eu deixar sem nada após a declaração ele mostra a mensagem de que o Método Destroy está sendo escondido. Se eu colocar reintroduce ele não mostrar mais o warning. Se eu colocar override dá o erro de compilação. -- Leodinei Bielak http://leodinei. blogspot. com/ "The whole point of getting things done is knowing what to leave undone." Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]