Вниз
Скачать: CL | DM;

Как скопировать экземпляр объекта   Найти похожие ветки 

 
ghg ©   (2003-04-19 12:34) [0]

Вопрос конечно глупый, но все-таки.
Есть два экземпляра какого-либо объекта, нужно все поля одного скопировать в другой экземляр, но именно скопировать, а не сделать так чтобы они указывали на обдну область памяти.

Можно конечно все сделать ручками, но наверняка есть способ быстрее. Может кто его подскажет?

С наилучшими ...


 
Radionov Alexey ©   (2003-04-19 12:46) [1]

Обычно этим занимается метод Assign. В своих же разработках (когда требуется помимо всего прочего скопировать что-то свое) его следует переопределять.


 
Юрий Зотов ©   (2003-04-19 12:53) [2]

Если речь идет именно о полях, то просто CopyMemory. Но если среди этих полей будут указатели, то именно они и скопируются, а не то, на что они указывают. Для того и нужен Assign.


 
ghg ©   (2003-04-19 13:14) [3]

Для начала скажу, что объект это наследник TObject, соответственно assign он не имеет.
некоторые из полей являются динамическими массивами других объектов.

Соответственно для копирования объекта, придется все-таки все делать ручками. Правильно ли я понял?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
8-654
OxOTHuK
2003-01-25 23:26
2003.05.01
Слои


3-436
hawkins
2003-04-11 19:40
2003.05.01
как на Delphi создать новую базу данных interbase?


14-726
tytus
2003-04-12 10:09
2003.05.01
manifest


14-762
NetBreaker666
2003-04-12 17:54
2003.05.01
Создание экземпляра класса по имени класса.


1-513
Wolverin
2003-04-20 22:22
2003.05.01
Работа с другим приложением




   Наверх