Em 6/7/2009 20:20, Joao Morais escreveu: > 2009/7/6 José Mário Silva Guedes <jmariogue...@gmail.com > <mailto:jmarioguedes%40gmail.com>>: > > Eu tenho dúvidas quanto a isto também, e por desencargo, eu rescrevo o > > Destructor da classe, para "anular" os arrays: > > nota.Produto := nil; > > Não precisa. Quando há alguma estrutura em que esse apontamento faz > diferença (array dinâmico, interface e ansi string), o próprio > destrutor da classe associa nil ao ponteiro por você. > > Joao Morais
Aproveitando o gancho nessa thread ... Supondo que tenho dois tipos, TPessoaRecord e TPessoaClass, eu posso usar com um record da seguinte maneira, bem simples ...: --- var ..VPessoaRecord: TPessoaRecord; begin ..VPessoaRecord.Nome := 'Fulano de tal'; ..ShowMessage(VPessoaRecord.Nome); end; --- ... não usei create/free, agora com uma classe ... --- var ..VPessoaClass: TPessoaClass; begin ..VPessoaClass := TPessoaClass.Create; ..try ....VPessoaClass.Nome := 'Fulano de tal'; ....ShowMessage(VPessoaClass.Nome); ..finally ....VPessoaClass.Free; ..end; end; --- ... com class eu posso usar inúmeros recursos do object pascal (herança, abstração, polimorfismo ...), então o class para TPessoa seria o mais indicado, já que tal objeto poderia conter várias propriedades, mas tem alguns casos que o objeto é bem simples, ex: TEndereco, que teria poucos campos (Rua, Numero, UF...), então seria correto eu usar o record para esse caso? -- []'s, Silvio Clécio --- Linux User: #481900 Gmail, GTalk: silviop...@gmail.com E-mail, Y! Messenger: silviop...@yahoo.com.br BlogSite: http://silvioprog.blogspot.com/ BlogSpot: http://silvioclecio.blogspot.com/ VirtualDriver: http://silvioprog.4shared.com/ °oO| Seja livre, use Linux! |Oo°