关于类的复制
我现在写了这样一个函数
function TForm1.Cratebt(s: string): TButton;
var
tbt:TButton;
begin
tbt:=TButton.Create(nil);
try
tbt.Caption:=s;
tbt.Top:=100;
tbt.Left:=100;
Result:=tbt;
finally
tbt.Free;
end;
end;
________________
我用以下代码来生成按钮
var
bt2:TButton;
begin
bt2:=TButton.Create(Self);
bt2:=Cratebt('a');
bt2.Parent :=form1;
end;
问题1 Cratebt生成的函数 不能在 finaly里 free 如果 free 后,返回的值就不对了。应该在什么地方free 呢
问题2 就算返回了但是 bt2:=Cratebt('a') 只是把指针给bt2 不是复制出一个新的指针,
我查了书,书上说利用一个抽象类——TPersistent的AssignTo方法就行了。可是我不知道怎么用。
谢谢