![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Правильно создать клон структуры
Ruzzz © (2009-09-12 10:01:00)Как я понимаю _CopyRecord из system это то что мне нужно? Создаю список элементов, каждый элемент это структура, получается что можно без проблем копировать с помощью Move, но вот если есть строки/динамические массивы/другие структуры то приходится явно присваивать значения. Поможет ли _CopyRecord?
(2009-09-20 02:21:00) [1]Удалено модератором
Суслик_ (2009-09-20 02:08:00) [2]мое имхо, что явное поэлементное копирование прозрачнее, нежели спец средства.
я бы писал поэлементное копирование (благо теперь в дельфи есть методы для записей)
Ruzzz (2009-09-13 22:45:00) [3]Sapersky, спс, модуль интересный, но было бы не плохо иметь больше комментариев к коду, и желательно также и на русском :)
СовестьДМ (2009-09-13 02:25:00) [4]Удалено модератором
Sapersky (2009-09-12 19:26:00) [5]Относительно вложенных дин. массивов есть такой момент - копируются только ссылки с увеличением RefCount (так же как для строк), но в отличие от строк модификация данных копии не отслеживается, со всеми вытекающими последствиями - пишем в "новый" массив, на самом деле меняются оба...
Здесь:
http://sapersky.narod.ru/files/TypInfoEx.rar
есть функция UniqueData (аналог UniqueString), создающая уникальные копии данных вложенных дин. массивов (ну и строк заодно, хотя это необязательно).
DVM (2009-09-12 13:57:00) [6]
> Создаю список элементов, каждый элемент это структура, получается
> что можно без проблем копировать с помощью Move, но вот
> если есть строки/динамические массивы/другие структуры то
> приходится явно присваивать значения.
Да, но если поля записи в свою очередь структуры, не имеющие полей типа строки и т.д., то они тоже будут скопированы с пом Move