Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 我得到了一个错误:类型TFormClass和类引用不兼容_Delphi_Delphi 7 - Fatal编程技术网

Delphi 我得到了一个错误:类型TFormClass和类引用不兼容

Delphi 我得到了一个错误:类型TFormClass和类引用不兼容,delphi,delphi-7,Delphi,Delphi 7,我正在改进一个Delphi程序。。。 有一个过程需要TFormClass参数类为TForm 我通过了TForm1或类似的考试,但它不喜欢。例如,procnameTForm1; 程序中还有其他类似的形式在程序中传递, 然而,他们并没有这样的编译错误 例如,传递了另一个表单,它被定义为 type TForm4 = class(TForm) .... procname(TForm4); 这不会导致编译错误 我的表单被定义为类型 TForm1 = class(TForm)... 看起来很像,对吧

我正在改进一个Delphi程序。。。 有一个过程需要TFormClass参数类为TForm

我通过了TForm1或类似的考试,但它不喜欢。例如,procnameTForm1; 程序中还有其他类似的形式在程序中传递, 然而,他们并没有这样的编译错误

例如,传递了另一个表单,它被定义为

type TForm4 = class(TForm)
....
procname(TForm4);
这不会导致编译错误

我的表单被定义为类型

  TForm1 = class(TForm)...
看起来很像,对吧?编译器不接受这一点的原因可能是什么

为什么其他人被接受?有什么不同


谢谢。

首先,这个程序不是我写的。我改进了它。。 该程序有一个单元,在所有没有出现问题的单元中导入

让它被称为UnitWithAdditionalTFormDotDefinitions

解决办法很简单

在该错误消息发出的单元n的开头,我更改了uses语句

E、 g

使用单元1、单元2、表单;//这是原始状态或类似状态

之后


使用Unit1、Unit2、Forms、UnitWithAdditionalTFormDot

最好复制粘贴精确的代码片段。我不相信我们能在这里看到错误的部分。。。一个单元重新定义了tform,所以它会产生一些特殊的异常。如果你没有重新定义tform,你定义了一个同名的新类。差异是微妙的,但却如此重要。也许你可以用你找到的解决方案来回答你的问题?