我已经在一个单独的单元中扩展了 TForm...
TForm = class(Forms.TForm)
protected
{ convenient extensions }
public
{ more extensions }
end;
并且这个单元(带有扩展的 TForm)在我想要应用这些扩展的表单的所有单元中声明......
但是,在其中一些单元中具有以下代码片段:
Initialization
RegisterClass(TFormN);
Finalization
UnRegisterClass(TFormN);
但是这样我得到消息 [EFilerError] '一个名为 TForm 的类已经存在'
过去几天我一直在寻找解决/解决此冲突的方法,但没有成功...
有没有人经历过这种...?或者可以阐明为什么这个问题......?
问题是我已经在 2 个项目中以扩展形式实现了这个单元 - 成功......
刚才,在第三个项目中,表单类在没有被实例化的情况下被调用......我无法更改扩展类表单:
TForm = 类(Forms.TForm)
到:
TStyleForm = 类(Forms.TForm)
...
我需要的是这样的:
TFormStyle = class(Forms.TForm)
public
constructor Create(AOwner: TComponent); override;
end;
TForm = ^TFormStyle;
但是在单位中我不能做这样的声明:
TMyForm = class(TForm)
{ something... }
end;
因为现在它是一个指针...