delphi - 如何在运行时获取表单的实例?

标签 delphi delphi-xe2

在我的应用程序中,我需要以多种形式显示数据,这些形式完全相同的VCL,事件和过程,因为这些形式的数量取决于我的应用程序,所以我无法在设计中创建所有这些形式-时间。

或者如何在运行时多次复制表单?

最佳答案

假设您的表单被声明为 TForm2,您可以轻松创建它的 10 个实例,如下所示:

var 
  myForms: TArray<TForm2>;
  I: Integer;
begin
  SetLength(myForms, 10);
  for I:=0 to 9 do begin
    myForms[I] := TForm2.Create(Application);  // Application will free the forms on exit
    myForms[I].Show;
  end;
end;

如果您不需要访问表单实例,您可以完全省略数组并编写:

var 
  I: Integer;
begin
  for I:=0 to 9 do begin
    TForm2.Create(Application).Show;  // Application will free the forms on exit
  end;
end;

关于delphi - 如何在运行时获取表单的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12131665/

相关文章:

delphi - FireMonkey 应用程序中的 TFileOpenDialog

windows - 如何阻止某个文件夹的访问?

Delphi 5 表单标题字体大小

delphi - 如何定位图像中的对齐标记

delphi - 如何在Delphi xe2中禁用unicode

delphi - 释放 DLL 中的接口(interface)对象时无效的指针操作

delphi - 如果它们只是用作表单控件的指针,我是否需要 'create'/初始化局部变量?

delphi - 如何禁用delphi中的某些键

XML 映射器... XE2

delphi - 从指向记录类型 rtti 字段的指针获取值