我正在改进Delphi程序......
有一个过程需要TFormClass
参数(class of TForm)
。
我通过TForm1或者喜欢它并且它不喜欢。例如。 procname(TForm1);
程序中还有其他形式,在程序中类似地传递,
但是他们没有这样的编译错误。
E.g。有另一种形式传递,它被定义为
type TForm4 = class(TForm)
....
procname(TForm4);
这不会导致编译错误。
我的表单定义为类型
TForm1 = class(TForm)...
它看起来很相似,对吗?可能是编译器不接受这个原因的原因是什么?
为什么其他人被接受?可能有什么区别?
谢谢。
答案 0 :(得分:0)
首先,我没有写这个程序。我改进了.. 该计划有一个单位,在没有出现问题的所有单位进口。
让它被称为“UnitWithAdditionalTFormDotDefinitions”。
解决方案很简单。
在单位的开头n发出此错误消息,我更改了使用声明。
E,G。
使用Unit1,Unit2,Forms; //这是原始状态或类似的
在
使用Unit1,Unit2,Forms,UnitWithAdditionalTFormDot;