Identificação de um objeto no Delphi

Delphi

27/03/2009

Boa tarde, pessoal!

Como diferenciar duas instâncias da mesma Classe no Delphi?

Exemplo:
Tenho uma classe TProduto, e crio duas instâncias da mesma classe:

ProdA := TProduto.Create();
ProdB := TProduto.Create();


Agora, imaginando que tenho um método:

ProcessaProduto(Produto: TProduto);

e faço duas chamadas a este método:

ProcessaProduto(ProdA);
ProcessaProduto(ProdB);

Dentro deste método, preciso de uma maneira de identificar unicamente o produto que está sendo passado como parâmetro.

Sei que poderia criar um atributo na classe base, mas preciso fazer o mesmo em outras classes.

O que preciso é de um atributo, em TObject talvez, pelo qual eu possa saber que são dois objetos diferentes, embora sejam instâncias da mesma classe.

Alguém pode me ajudar?


Carlosfim

Carlosfim

Curtidas 0

Respostas

Marco Salles

Marco Salles

27/03/2009

situaçoes assim eu uso o tag

Quando isntancio o OBjeto eu defino o Tag

Depois eu recuopero o tag , para cada Objeto um Tag diferente

So asim . Se servi ta na mão.


GOSTEI 0
Carlosfim

Carlosfim

27/03/2009

O tag funcionaria.

Mas eu queria algo do próprio sistema, como um endereço de memória ou algum identificador que o próprio Delphi cria quando instancia um objeto.

Será que isso existe?


GOSTEI 0
Rodc

Rodc

27/03/2009

Considerando que a função ProcessaProduto tem acesso às variáveis ProdA e ProdB:
procedure ProcessaProduto(produto: TProduto)
begin
    if produto = ProdA then
    begin

    end;
end;



GOSTEI 0
POSTAR