Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизКлонирование объекта Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.031 c