Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Вниз

Как скопировать экземпляр объекта   Найти похожие ветки 

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
14-748
Orcy
2003-04-11 00:04
2003.05.01
Service Process в win Xp и win9x


14-752
kalishenko
2003-04-09 20:56
2003.05.01
Компонента SystemWorks! for Delphi 5


14-707
Pat
2003-04-12 10:08
2003.05.01
Вопрос по SoftIce у


6-662
nikb
2003-03-05 01:07
2003.05.01
Connect ClientSocket to ServerSocket


4-828
Darkman
2003-03-02 17:07
2003.05.01
MoseEnter/MouseLeave для MainMenu





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский