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

Вниз

Сохранение формы в run-time   Найти похожие ветки 

 
СатирЪ ©   (2004-07-29 16:42) [0]

Подскажите, пожалуйста, каким методом можно сохранить форму в dfm-файл, на которую в рантайме были установленны компоненты?


 
Юрий Зотов ©   (2004-07-29 16:53) [1]

WriteComponentResFile


 
СатирЪ ©   (2004-07-29 17:05) [2]

Да, спасибо, уже нашёл.
Только оно сохраняется в бинарном виде.
А как сохранить в текстовом?


 
Юрий Зотов ©   (2004-07-29 17:25) [3]

TMemoryStream -> WriteBuffer -> ObjectBinaryToText -> TFileStream


 
СатирЪ ©   (2004-07-30 14:36) [4]

var Buffer,Count:integer;
   Input:TMemoryStream;
   Output:TFileStream;
begin
 Input:=TMemoryStream.Create;
 Input.WriteBuffer(Buffer,Count);
 Output:=TFileStream.Create("test.dfm",$FFFF);
 ObjectBinaryToText(Input, Output);
end;

Вопрос на засыпку: всё ли здесь верно и что долно представлять собой Buffer,Count?


 
Юрий Зотов ©   (2004-07-30 14:53) [5]

Примерно так:

procedure SaveFormToFile(Form: TForm; FileName: string);
var
 MS: TMemoryStream;
 FS: TFileStream;
begin
 MS := TMemoryStream.Create;
 try
   MS.WriteBuffer(Form, Form.InstanceSize);
   MS.Position := 0;
   FS := TFileStream.Create(FileName, ...);
   try
     ObjectBinaryToText(MS, FS)
   finally
     FS.Free
   end
 finally
   MS.Free
 end
end;


 
СатирЪ ©   (2004-07-30 15:23) [6]

Благодарю.



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
3-1090219511
brejnev
2004-07-19 10:45
2004.08.15
Считать данные из TQuery


6-1087493000
Said
2004-06-17 21:23
2004.08.15
Отправка файла по сети


1-1091380968
dracula
2004-08-01 21:22
2004.08.15
for i:=1 to N do if S[i]= / then S[i]:= ;


4-1088869764
AlexZ
2004-07-03 19:49
2004.08.15
Transparent label on WinAPI


14-1090930907
peypivo
2004-07-27 16:21
2004.08.15
Explorer