Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1095152992
Medik
2004-09-14 13:09
2004.10.10
запрос в SQL Server 2000 и Paradox


9-1086951394
Bizon's
2004-06-11 14:56
2004.10.10
Помогите ламеру с DelphiX


3-1095062673
Mitrofan
2004-09-13 12:04
2004.10.10
EhLib DBGrid


14-1095933019
Lexxx
2004-09-23 13:50
2004.10.10
Помогите найти компонент.


14-1095708897
iZEN
2004-09-20 23:34
2004.10.10
Первый взгляд на Java Паскаль-программиста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский