![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
*.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;