Вниз
Скачать: 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.01 c
14-769
Дмитрий К.К.
2003-04-15 06:51
2003.05.01
Именинники 15 апреля


1-557
anbezr
2003-04-18 09:03
2003.05.01
Где освобождать DC


3-420
Filat
2003-04-11 19:02
2003.05.01
Firebird - Memo поле, какой max. размер и стоит ли?


14-792
Minog
2003-04-15 19:00
2003.05.01
Где можно найти справочник по функциям в дельфи?


14-790
Doctor
2003-04-15 19:01
2003.05.01
Вступайте в проект по ...




   Наверх