2009/2/6 Ricardo César Cardoso <ricardo_engs...@yahoo.com.br>:
> Então João, a dúvida nem foi tanto pelos ponteiros. Foi mais pelo fato de que 
> pelo que eu
> acho que entendi, records quando criados, são automaticamente destruidos, ao 
> passo que
> nesse caso eu tenho que explicitamente criar e destruir (liberar com Free) o 
> objeto.
>
> É isso ou eu misturei alguma coisa?

Olá Ricardo.

Mais ou menos. O que precisa ser criado é a classe que, quando
instanciada, transforma-se em objeto. Quando eu falo em objeto eu falo
de algo assim:

TPessoa = object
  ...

E um suposto

VPessoa: TPessoa;

pode ser usado diretamente, sem criar e sem destruir.

Quando fala-se em objeto (object, e não instância da classe) e record,
não se fala em criar e destruir. A área que eles ocupam são as mesmas
ocupadas por um Integer da vida - o stack. Veja objeto e record como
um 'integerzão' que você define ao seu gosto e com a estrutura que lhe
convem, e uma vez declarado através de uma variável, sua área pode ser
populada sem precisar alocar.

No entanto, tanto record quanto objetos tem usos bem específicos mas
estão longe de, mesmo que em parte, substituir uma classe e tudo o que
a envolve.

Joao Morais

Responder a