我正在尝试将某些代码从Delphi 5迁移到Delphi XE7-WIN64。由于IDE是32位应用程序,因此方案是DesignEditors仅是32位。我要迁移的项目中的单元具有包含DesignEditor或DesignIntf或两者的use子句。
把-LUDesignIDE
在生成配置>编辑> Delphi编译器>编译>其他选项传递到编译器> -LUDesignIDE
提供以下内容作为构建的第一个错误
[dcc64 Fatal Error] E2202 Required package 'DesignIDE' not found
我正在使用Delphi XE7试用版。
听起来您有一个在设计时和运行时都结合在一起的软件包。但是,在大多数情况下,您必须将软件包分为两个不同的软件包。一个包是运行时(在其中实现所有实际的库),另一个包是设计时(将您的库公开给IDE)。
话虽如此,设计时程序包必须直接与Delphi IDE一起使用。Delphi IDE是32位的,因此设计时程序包也必须是32位的。而您的运行时软件包将支持所需的任何平台。设计时程序包仅负责将组件,属性编辑器等注册到IDE。
与IDE有任何关系的任何事物(例如注册组件,注册属性编辑器等)都必须位于仅32位的设计时软件包中。由于法律版权问题,所有设计时实现都必须在设计时包中,与运行时包分开。
首先创建一个仅设计时使用的新程序包,该程序包的名称相同,但前缀为DCL
。然后,将原始包更改为仅运行时。立即在仅设计时的新包装中创建一个新单元。该单元将专门用于注册所有IDE设计时的交互。运行时包中依赖于这些设计时单元的所有内容都必须转换为该设计时包。这些找不到的单元仅与32位Delphi IDE兼容。
这样,新的仅设计时软件包将需要您的运行时软件包。您必须先编译运行时程序包,然后才能编译设计时程序包。任何时候,您对库进行更改时,都需要1)重新编译运行时程序包,2)重新编译设计时程序包,以及3)重新安装设计时程序包。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句