Форум: "Компоненты";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
ВнизСвойства массивы в процедуре 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c