Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Клонирование объекта   Найти похожие ветки 

 
NewDelpher ©   (2004-09-23 15:39) [0]

Я создал объект Object1, заполнил его поля, свойства.
Как мне получить его точную копию в виде объекта Qbject2?


 
TUser ©   (2004-09-23 15:43) [1]

Create
Assign


 
NewDelpher ©   (2004-09-23 15:52) [2]

Не понял, Assign вроде определен в потомках TComponent, а у меня свой класс, который не является наследником TComponent.
Как быть в этом случае?


 
Sandman25 ©   (2004-09-23 15:54) [3]

Написать свой Assign.
Или function Clone: TYourClass


 
Defunct ©   (2004-09-23 15:55) [4]

Перекопировать все поля вручную, сделать процедуру Assign в которой будет осуществляться копирование полей


 
NewDelpher ©   (2004-09-23 15:56) [5]


> Sandman25 ©   (23.09.04 15:54) [3]
> Написать свой Assign.
> Или function Clone: TYourClass


Неужели готовых методов нет?


 
Sandman25 ©   (2004-09-23 15:57) [6]

[5] NewDelpher ©   (23.09.04 15:56)

Если посмотреть описание TObject, то видно, что нет.


 
Defunct ©   (2004-09-23 16:03) [7]

> Неужели готовых методов нет?

Непонял, класс-то ваш, в борланде ведь не телепаты чтобы знать все ваши поля?


 
NewDelpher ©   (2004-09-23 16:05) [8]


> Defunct ©   (23.09.04 16:03) [7]
> > Неужели готовых методов нет?
>
> Непонял, класс-то ваш, в борланде ведь не телепаты чтобы
> знать все ваши поля?


Ну и что? Если области адресного пространства скопировать?


 
Sandman25 ©   (2004-09-23 16:05) [9]

[7] Defunct ©   (23.09.04 16:03)

Технически проблемы нет ИМХО. InstanceSize известен, только опасность с типами с управляемым временем жизни.


 
Defunct ©   (2004-09-23 16:06) [10]

> Если области адресного пространства скопировать?

Копируйте, если вам нужны лишние глюки


 
Erik1 ©   (2004-09-23 16:06) [11]

Еще похакерить можно, создаеш новый объект и дальше химичиш с памятю. Но этот мазахозм на любителя.


 
Erik1 ©   (2004-09-23 16:06) [12]

Еще похакерить можно, создаеш новый объект и дальше химичиш с памятю. Но этот мазахизм на любителя.


 
NewDelpher ©   (2004-09-23 16:12) [13]

Ну ладно, уговорили. Не буду копировать области АП.


 
Amoeba ©   (2004-09-23 16:33) [14]

Assign определен в потомках не TComponent, а TPersistent


 
Defunct ©   (2004-09-23 16:45) [15]

Amoeba ©   (23.09.04 16:33) [14]

Какая разница где Assign определен. Его реализация все равно для каждого класса пишется отдельно.


 
Digitman ©   (2004-09-23 16:53) [16]


> у меня свой класс, который не является наследником TComponent.


переделай свой класс как наследник TPersistent и не мучайся - получишь готовый Assign-механизм, останется только перекрыть AssignTo-метод в своем наследнике



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

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
14-1095679288
Dimedrol
2004-09-20 15:21
2004.10.10
Помогите! кажется меня похачили :-( (Linux-Apache)


3-1095144874
Diman
2004-09-14 10:54
2004.10.10
Как получить доступ к полям DBF-файла?


1-1096090966
md5 hash
2004-09-25 09:42
2004.10.10
MDI приложение


8-1089930613
Ribinzon
2004-07-16 02:30
2004.10.10
Работа с JPG


14-1095859478
ODINUS
2004-09-22 17:24
2004.10.10
Помогите