Fórum Copiar Objetos #333377
21/11/2006
0
Tenho o seguinte problema: Preciso copiar um objeto em outra variável do mesmo tipo, mas o que acontece é qye as duas variáveis passam a apontar para o mesmo objeto, e não uma cópia real. Estou trabalhando da seguinte forma:
... var Obj1: TFiltro; //Classe simples que eu criei Obj2: TFiltro; ... begin Obj1 := TFiltro.Create; ... //Aqui faço diversas operações e altero propriedades de Obj1 Obj2 := Obj1; //Neste ponto preciso duplicar o objeto, preciso criar outro objeto (obj2) idêntico ao primeiro, mas que sejam independentes
Da maneira que estou fazendo as duas variáveis (Obj1 e Obj2) passam a apontar para o mesmo objeto. Assim, quando eu altero Obj1 a variável Obj2 também é alterada.
Como faço para copiar Obj1 em Obj2 sem que eles sejam o mesmo objeto?
Obrigado,
Carlosfim
Curtir tópico
+ 0Posts
21/11/2006
Steve_narancic
Obj1.assign(Obj2)
Gostei + 0
21/11/2006
Carlosfim
O Delphi diz que o identificador (Assign) não foi declarado.
Obj1 e do tipo TFiltro, que é uma classe que eu criei da seguinte maneira:
type TFiltro = class ... Private ...
Gostei + 0
21/11/2006
Rodc
Se não me engano, no Help do Delphi tem um exemplo do código em Pascal. Tenta localizar o nome das funções no Help do Delphi.
Gostei + 0
21/11/2006
Rodc
Verifique nos outros componentes como eles fazem o Assign.
Gostei + 0
21/11/2006
Carlosfim
Obrigado a todos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)