Главная страница
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.48 MB
Время: 0.029 c
3-1090234927
Spivi
2004-07-19 15:02
2004.08.15
компоненты, у которых есть свойство DataSource


14-1091217398
NNM
2004-07-30 23:56
2004.08.15
Старое доброе мужество


11-1078154025
ctapik
2004-03-01 18:13
2004.08.15
Занимаемая память программы (Task manager)


1-1091076278
Mental_Ray
2004-07-29 08:44
2004.08.15
Как узнать позицию (не координаты) курсора в RichEdit?


1-1091589740
X - type
2004-08-04 07:22
2004.08.15
Как определить директорию