全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1159
推到 Plurk!
推到 Facebook!

关于Form对象保存与加载的问题

尚未結案
newkk
一般會員


發表:4
回覆:1
積分:1
註冊:2006-11-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-19 13:41:14 IP:220.160.xxx.xxx 未訂閱
由于需要把当前窗体内容保存,以下次用时再加栽,但在加栽对象时出错。
代码如下:
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.
出错信息:
请问:代码应如何修改呢???

系統時間:2024-05-11 14:49:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!