Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

TObjectList.Assign   Найти похожие ветки 

 
Iriss   (2009-02-09 13:00) [0]

хочу сделать полную копию объекта
var ContainerData: TObjectList;
var InitData    : TObjectList;
var CopiedList  : TObjectList;
var Data: TMyType;
var CopiedData: TMyType;

   ContainerData := TObjectList.Create();
   InitData         := TObjectList.Create();
//  CopiedList      := TObjectList.Create();

   InitData.Add( Data );

   ContainerData.Assign( InitData , laCopy, CopiedList);

   CopiedData := CopiedList.First;


Выкидывает ошибку и копию не создает.
Подскажите, что не так делаю


 
Ega23 ©   (2009-02-09 13:07) [1]

А создавать CopiedList Пушкин будет?


 
Сергей М. ©   (2009-02-09 13:07) [2]

Не читаешь текст ошибки.


 
Iriss   (2009-02-09 13:40) [3]

Теперь ошибку не кидает, но и копию объекта при таком коде не создает

var ContainerData: TObjectList;
var InitData    : TObjectList;
var CopiedList  : TObjectList;
var Data: TMyType;
var CopiedData: TMyType;
var K: Double;
var K2: Double;
begin
  ContainerData := TObjectList.Create();
  InitData         := TObjectList.Create();
  CopiedList      := TObjectList.Create();

  InitData.Add( Data );

   K := CopiedList.Count; //=0
   K2 := InitData.Count;  //=1

  ContainerData.Assign( InitData , laCopy, CopiedList);

   K := CopiedList.Count; //=0
   K2 := InitData.Count;  //=1

  CopiedData := CopiedList.First;


 
Сергей М. ©   (2009-02-09 13:51) [4]

Копию именно объекта и не создаст - TObjectList не перекрывает ни Assign ни AssignTo.
Максимум что можно получить - копию списка указателей на объекты, но не копии самих объектов.
Объекты сами должны заботиться о методах своего клонирования, контейнеры объектов за это не отвечают.

Удивись:
ShowMessage(IntToStr(ContainerData.Count));



Страницы: 1 вся ветка

Текущий архив: 2009.03.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
2-1234191366
AlexDan
2009-02-09 17:56
2009.03.29
Изменить положение MessageDlg,


2-1233414166
SkyN
2009-01-31 18:02
2009.03.29
получить содержимое и нажать кнопку страницы открытой в браузере


9-1177600266
$00FF00
2007-04-26 19:11
2009.03.29
Проблемы с трением


2-1233218140
arhis
2009-01-29 11:35
2009.03.29
Закрытие программы


15-1233064634
IGray
2009-01-27 16:57
2009.03.29
Локализ-я с пом. D2007-D2009 и назойливые предложения сохраниться