![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение в файл объекта [D7, XP]
huge © (2009-02-28 15:10:00)Как правильно сохранить объект(класс) через TFileStream?
Допустим, сохраняемый обьект такой:
TB = class
I: integer;
S: string;
G: TGraphic;
end;
TR = class
base:TB;
private
D: array[0..10] of TR;
I: integer;
B:boolean;
end;
я подумал что записать можно так:
o:TR;
..
Stream.WriteBuffer(o, SizeOf(o));
Но видимо, нужно отдельно писать каждый элемент класса. Это так?
Тогда как поступить если TR может иметь неограниченную вложенность себя же?
huge (2009-02-28 15:36:00) [1]Понятно, спасибо
Palladin (2009-02-28 15:16:00) [2]
> Но видимо, нужно отдельно писать каждый элемент класса.
> Это так?
Да
> Тогда как поступить если TR может иметь неограниченную вложенность
> себя же?
Воспользоваться заклинанием "Рекурсия"
Состав:
1. Волшебный метод объекта Write(stm:TStream);
2. Цикл по вложенным элементам своего же класса с вызовом этого Волшебного метода.