新手求助
我想做一个程序,在他关闭的时候把他本身的组件信息保存到注册表.我写了个registry_save函数.但是把对象传入函数后调用出错了.要如何修改??
程序如下,1个memo,2个edit:
unit unit1;
interface
uses
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.
推荐阅读
t : tobject
那么t.lines和t.text是什么东西?
—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
1.当t为tmemo时:
reg.writestring((t as tmemo).classname,(t as memo).lines);//这里出
2.当t为tedit时
reg.writestring((t as tedit).classname,(t as tedit).text);//这里出


讨论区