关于Form对象保存与加载的问题 |
尚未結案
|
newkk
一般會員 發表:4 回覆:1 積分:1 註冊:2006-11-08 發送簡訊給我 |
由于需要把当前窗体内容保存,以下次用时再加栽,但在加栽对象时出错。
代码如下: unit save_load; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Button3: TButton; Panel1: TPanel; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); private procedure save(filename:string;tcom:Tcomponent); procedure open(filename:string;panel0:TForm); procedure delComp(form:TForm); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin save('c:\p.dfm',Form1); end; procedure TForm1.save(filename:string;tcom:TComponent); var Str1 : TFileStream; begin Str1 := TFileStream.Create (fileName, fmOpenWrite or fmCreate); try //save the entire component Str1.WriteComponentRes (tcom.ClassName, tcom); finally Str1.Free; end; end; procedure TForm1.Button3Click(Sender: TObject); begin open('c:\p.dfm',Form1); end; procedure TForm1.open(filename:string;panel0:TForm); var Str1: TFileStream; TempTl: TForm; TempT2: TForm; begin Str1 := TFileStream.Create (FileName, fmOpenRead); //open a stream try //TempTl := TForm1.Create (Application); //temp object //TempTl.Color:=clred; //tempTl.Show; //FreeAndNil(Form1); RegisterClass(TForm1); //Form1.free; //执行到这里错~~~ Temp2:=TForm(Str1.ReadComponentRes (nil)); Temp2.Show; finally Str1.Free; end; end; end; end. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |