【发布时间】:2020-05-30 16:13:11
【问题描述】:
我需要将 MDI 子窗体的创建集中到 Delphi (VCL) 中的一个独特的过程中。这个想法是在每次创建 MDI 子窗体时执行一些操作,无论其类型如何,即将其标题名称添加到列表中以访问该 MDI 子窗体。像这样:
procedure TMainForm<T>.CreateMDIChild(const ACaption : String);
var
Child: T;
begin
{ create a new MDI child window }
Child := T.Create(Application);
Child.Caption := ACaption;
// add this child to the list of active MDI windows
...
end;
procedure TMainForm.Button1Click(Sender : TObject);
begin
CreateMDIChild<TMdiChild1>('Child type 1');
CreateMDIChild<TMdiChild2>('Child type 2');
...
但是,我没有使用泛型的经验。任何帮助我都会很感激。 非常感谢。
【问题讨论】:
-
我假设你已经阅读了the documentation?
-
你不能在表单类中使用泛型。
-
@DelphiCoder 是的,你可以
-
是的,我阅读了文档,但我做错了 =( 并且是我第一次尝试使用泛型,所以我对这种方法没有经验。