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

Вниз

Свойства массивы в процедуре Assign   Найти похожие ветки 

 
Константинов ©   (2004-09-13 22:02) [0]

Собтвенно сабж,

TMyClass = class ( TPersistent )
private
 FList : TList; //хранит ссылки на элементы массива
public
 property Items[Index : integer] : word read GetItems write SetItems;
 procedure Assign ( Source : TPersistent );
end;

...

procedure TMyClass.Assign(Source: TPersistent);
begin
 if Source is TMyClass then
 begin
  FList := ???
  FProperty1 := TMyClass(Source).Property1;
 ...
 end;


 
Колбасьев ©   (2004-09-13 22:07) [1]

Используй TList.Assign. Подробнее в Справке Delphi.


 
Константинов ©   (2004-09-13 22:52) [2]

Попробую... у меня, используя Assign, почему-то часто вылетает AV. Наверное я что-то не так делаю... пойду почитаю справку...


 
jack128 ©   (2004-09-13 22:55) [3]

Колбасьев ©   (13.09.04 22:07) [1]
а что, разве у tlist появился этот метод?
Константинов ©   (13.09.04 22:02)
ручками, все ручками..
procedure TMyClass.Assign(Source: TPersistent);
var
 _Source: TMyClass;
begin
inherited;
if Source is TMyClass then
begin
 _Source := TMyClass(Source);
 FList.Count := _Source.FList.Count;
 for i := 0 to FList.Count - 1 do
   FList[i] := _Source.FList[i]; // это если ты свои word хранишь как word(FList[i])
 FProperty1 := _Source.Property1;
...
end


 
jack128 ©   (2004-09-14 14:42) [4]

jack128 ©   (13.09.04 22:55) [3]
Блин, сорри, глюкнул я. Для наследника TPersistent inherited не нужно вызывать..



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

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

Наверх




Память: 0.47 MB
Время: 0.104 c
3-1121609139
Alex___________T
2005-07-17 18:05
2005.08.28
Подскажите плиз, как добавить поле в существующую базу Paradox


1-1123585085
Андрей Жук
2005-08-09 14:58
2005.08.28
Приведение типов в наследниках


6-1110641616
ТехникПТО
2005-03-12 18:33
2005.08.28
Как загрузить HTML-код в определенный фрейм страницы браузера?


3-1121755995
-=snoop=-
2005-07-19 10:53
2005.08.28
OnClick = Cheked в чекбоксе!??


1-1123398075
kami
2005-08-07 11:01
2005.08.28
Непонятки с датами файлов