forms – 在Delphi XE中将类作为过程的参数传递

我需要做的是这样的事情:
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;

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...