我需要做的是这样的:
procedure A(type_of_form);
var form: TForm;
begin
form := type_of_form.Create(application);
form.showmodal;
freeandnil(form);
end;
我对每个动态创建的表单都这样做了:
form1 := TForm1.Create(application);
form1.showmodal;
freeandnil(form1);
我在程序A中要做的事情比较复杂,但问题在于如何使表单的创建变得更通用。也许与 @ 运算符有关...我真的不知道。
感谢您的任何建议!
procedure Test(AMyFormClass: TFormClass);
var
form: TForm;
begin
form := AMyFormClass.Create(Application); // you can use nil if you Free it in here
try
form.ShowModal;
finally
form.Release; // generally better than Free for a Form
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Test(TForm2);
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)