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

Вниз

Сохранение объектов.   Найти похожие ветки 

 
mc_duck   (2003-11-08 12:45) [0]

Добр день!
Кто-н. знает,как можно сохранить (и считать)объект в файле с помощью
TFileStream,так ,чтобы у объекта имелась возможность иметь
вложенные объекты?Желательно,чтобы это всё происходило без циклов
записи/считывания.
Спасибо.


 
OlegGashev ©   (2003-11-08 13:29) [1]

Наследуй его от TPersistent.


 
OlegGashev ©   (2003-11-08 13:29) [2]

Наследуй его от TPersistent.


 
Vuk ©   (2003-11-08 13:30) [3]

Можно. Особенно если использовать TCompenent. В VCL есть встроенная система сохранения объектов в потоке, основанная на RTTI. Эта система используется для хранения форм. Для сохранения компонента в потоке используется метод потока WriteComponent, для чтения - ReadComponen. Все классы, которые будут находиться в контейнере должны быть зарегистрированы при помощи RegisterClass.

Для того, чтобы в Ваших классах механизм работал нормально, нужно в классе компонента, который будет являться контейнером переопределить метод GetChildren.

procedure TObjectContainer.GetChildren(Proc: TGetChildProc;
Root: TComponent);
var
i : integer;
begin
inherited;
for i := 0 to ComponentCount - 1 do
Proc( Components[i]);
end;

В принципе, можно в качестве контейнера использовать TDataModule.



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
3-65789
jazz
2003-10-30 17:23
2003.11.20
Не могу правильно создать триггер


14-66114
Rouse_
2003-10-25 16:24
2003.11.20
Ходорковский упал


14-66119
KoSt1
2003-10-28 18:23
2003.11.20
КОНЕЦ СВЕТА


3-65753
Abikos
2003-10-31 15:25
2003.11.20
Как реализовать такой запрос ?


7-66142
Glajik
2003-09-12 20:37
2003.11.20
Подскажите где можно найти русскую инфу по Tapi