Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Поддержка сериализации в Delphi. 


BlackJack   (2002-04-13 01:11) [0]

Есть ли поддержка сериализации в Delphi?Имеется объект с некоторыми свойствами, надо сделать так, чтобы после выхода из программы и затем ее загрузки все свойства объекта приняли выбранные до этого пользователем значения.
Конечно можно использовать ini файлы, но по мне это - каменный век. Меня интересует:
1) есть ли поддержка сериализации, если да как ее сделать,
2) как писать параметры таких объектов через реестр windows.



SPeller   (2002-04-13 02:14) [1]

1) Можно хранить настройки в бинарных файлах.
2) Используй класс TRegistry. В нём всё интуитивно понятно.



Fantasist   (2002-04-13 21:35) [2]

Поддержки сериализации в Делфи нет - надо писать свою. Я бы делал это через BlockWrite/BlockRead.



Вася Пупкин   (2002-04-14 06:16) [3]

Нечто подобное все-же есть - классы TWriter и TReader.

Неплохо описано в М.Канту,Т.Гуч,Дж.Лэм "Дельфи. Руководство разработчика", гл.3 - больше подобного описания, к сожалению, нигде не встречалось.

Примеры к книге (код) можно скачать:
ftp://ftp.sybex.com/1987/Ch03.exe (1.5 М)
Примеры: Persist - запись и чтение простого объекта пользователя
StrComp - чтение и запись файлов форм



Armen   (2002-04-15 14:06) [4]

TStream.WriteComponent(Instance: TComponent);
TStream.WriteComponentRes(const ResName: string; Instance:TComponent);



Armen   (2002-04-15 14:16) [5]

Mojno eshe Ispol"zovat" TReader, TWriter

var
Stream: TStream;
Writer: TWriter;
MyComponent: TComponent;
begin
MyComponent:= TComponent.Create(Application);
Stream:= TMemoryStream.Create;
try
Writer:= TWriter.Create(Stream, Sizeof(MyComponent));
Writer.WriteRootComponent(MyComponent);
....
....
finally
Writer.Free;
Stream.Free;
end;
end;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.045 c
3-94259           kopachev              2002-04-07 15:03  2002.04.29  
Отчет в fast report


1-94446           Sniffer               2002-04-13 22:25  2002.04.29  
Системный таймер


1-94483           kmc                   2002-04-16 14:11  2002.04.29  
StringGrid, InplaceEdit, MaxLength


3-94257           valievrf              2002-04-07 17:02  2002.04.29  
Обсуждение рендома и фора.....


1-94515           Lena Z                2002-04-16 16:42  2002.04.29  
L470