我想做一个程序,在他关闭的时候把他本身的组件信息保存到注册表.我写了个REGISTRY_SAVE函数.但是把对象传入函数后调用出错了.要如何修改??
程序如下,1个MEMO,2个EDIT:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
Edit2: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
USES REGISTRY;{$R *.dfm}FUNCTION REGISTRY_SAVE(T : TOBJECT): BOOLEAN;
VAR
REG : TREGISTRY;
BEGIN
REG := TREGISTRY.Create;
TRY
REG.RootKey := HKEY_CURRENT_USER;
IF REG.OpenKey('TEST',TRUE) THEN
BEGIN
REG.WriteString(T.ClassName,T.LINES);//这里出错!如何修改才能使T.TEXT的值在文件关闭的时候保存在注册表??
RESULT := TRUE;
END;
FINALLY
REG.CloseKey;
REG.Free;
END;
END;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
REGISTRY_SAVE(MEMO1);
REGISTRY_SAVE(EDIT1);
REGISTRY_SAVE(EDIT2);
end;end.
程序如下,1个MEMO,2个EDIT:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
Edit2: TEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
USES REGISTRY;{$R *.dfm}FUNCTION REGISTRY_SAVE(T : TOBJECT): BOOLEAN;
VAR
REG : TREGISTRY;
BEGIN
REG := TREGISTRY.Create;
TRY
REG.RootKey := HKEY_CURRENT_USER;
IF REG.OpenKey('TEST',TRUE) THEN
BEGIN
REG.WriteString(T.ClassName,T.LINES);//这里出错!如何修改才能使T.TEXT的值在文件关闭的时候保存在注册表??
RESULT := TRUE;
END;
FINALLY
REG.CloseKey;
REG.Free;
END;
END;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
REGISTRY_SAVE(MEMO1);
REGISTRY_SAVE(EDIT1);
REGISTRY_SAVE(EDIT2);
end;end.
解决方案 »
- 恭喜月亮MM升级
- parambyname 参数没有找到 急啊
- 怎样做一个网络扫描系统,并且能够得到所扫描的ip和mac地址!在线等待!
- fileCtrl有问题吗??
- 救救我吧
- 虚拟内存问题(好象没有人会啊?)
- delphi 在DBGridEh中只有一个字段是供扫码的,如何在扫码完毕后自动回车Post,然后接着录入第二个。
- 什么意思:[Error] Never-build package 'B1_Apply' requires always-build package 'dclusr'
- 请问我的想法是否可行?能不能这样提高工作效率?
- 请问如何设置打印机的页边距!!
- 想也想不明白的问题?
- delphi中的文件操作问题,简单:seek的使用?
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
REG.WriteString((T as TMemo).ClassName,(T as memo).LINES);//这里出
2.当T为TEDit时
REG.WriteString((T as TEDit).ClassName,(T as TEdit).Text);//这里出