Identificação de um objeto no Delphi
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?
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
Curtidas 0
Respostas
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.
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
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?
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
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