Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Forms 默认的东京DLL编译器开关不允许旧的组件单元引用_Forms_Delphi_Dll_Delphi 10.2 Tokyo - Fatal编程技术网

Forms 默认的东京DLL编译器开关不允许旧的组件单元引用

Forms 默认的东京DLL编译器开关不允许旧的组件单元引用,forms,delphi,dll,delphi-10.2-tokyo,Forms,Delphi,Dll,Delphi 10.2 Tokyo,在编译包含Tokyo 10.2.3表单的Win 32 DLL时,我发现表单中使用的第三方组件出现了编译器错误,这些组件引用了带有“名称空间”的单元,例如表单与VCL.Forms。更改引用允许编译组件单元,但许多组件必须更改 例如: [dcc32致命错误]OvcCmd.pas(44):未找到F2613单元“表单” 将Tokyo表单编译为单独的project EXE不会生成编译器错误 对于德尔福大师: 是否有编译和构建DLL的编译器开关配置,该配置将告诉Tokyo使用/忽略旧样式的单元声明?向DLL

在编译包含Tokyo 10.2.3表单的Win 32 DLL时,我发现表单中使用的第三方组件出现了编译器错误,这些组件引用了带有“名称空间”的单元,例如表单与VCL.Forms。更改引用允许编译组件单元,但许多组件必须更改

例如: [dcc32致命错误]OvcCmd.pas(44):未找到F2613单元“表单”

将Tokyo表单编译为单独的project EXE不会生成编译器错误

对于德尔福大师:
是否有编译和构建DLL的编译器开关配置,该配置将告诉Tokyo使用/忽略旧样式的单元声明?

向DLL项目选项添加单元别名解决了编译器错误:


他们不是,他们是。两件不同的事情。这不是正确的解决方案。您正在处理,因此请确保
VCL
包含在项目的已知单元范围名称列表中。您是正确的!非常感谢。与添加单元别名相比,将Vcl添加到项目单元范围名称是一个更优雅的解决方案。有趣的是,Win32 VCL Forms项目默认在单元作用域名称中包含VCL,但Win32 DLL项目不包含VCL……可能是因为DLL在默认情况下不需要使用VCL框架。