Главная страница
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.024 c
8-1090344059
Игорь Н.
2004-07-20 21:20
2004.10.10
Вставка изображения на форму


3-1094627732
yuray
2004-09-08 11:15
2004.10.10
Инфо о клиентах базы


3-1093344909
_jk_
2004-08-24 14:55
2004.10.10
inceremental fetch tclientdataset баг?


1-1095941420
Aleksandr.
2004-09-23 16:10
2004.10.10
Как TListBox у назначить свою сортировку?


14-1095768414
X9
2004-09-21 16:06
2004.10.10
Проблемы с TGroupBox