Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

*.dfm


Алексей П ©   (2003-01-04 10:31:00) 

А можно взять и сохранить форму с всеми свойствами, компонентами в файл или БД (Memo), а потом взять, загрузить и создать?
И главное - как?


Andrey Shakula   (2003-01-04 13:24:00) [1]

Можно

Сохранение в поток cконвертацией в текст;
Что - то вроде (не тестировал)

procedure SeveComponentToStream(Component: TComponent; Stream: TStream);
var
BinStream: TMemoryStream;
egin
BinStream := TMemoryStream.Create;
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, Stream);
finally
BinStream.Free;
end;
end;

Загрузка из потока (текстового)

Класс должен бать зарегестрирован перед загрузкой.

RegisterClass(TКласствоейФормы);

Возможно не работает но суть должна бать понятна.

function LoadComponentFromStream(Component: TComponent;
Stream: TStream): TComponent;
var
BinStream: TMemoryStream;
begin
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(Stream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(Component);
finally
BinStream.Free;
end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо