【问题标题】:Delphi XE4 "class not found" but compiles fineDelphi XE4“找不到类”但编译得很好
【发布时间】:2013-07-29 15:00:06
【问题描述】:

我公司主要产品的 GUI 是在 90 年代后期用 Delphi 编写的,并且已更新到 Delphi 2007。我正在与一个小组合作将 Delphi 2007 更新到 XE4。

我们仍然使用来自 ADL VCL 的一些组件(类似于 DevExpress,但现在已不存在),但还没有安装整个包。相反,我们将需要的文件放在与项目文件夹分开的文件夹中,并在以下位置指定这些文件的路径: 工具-选项-库-浏览路径 和 项目-选项-搜索路径

当我打开 main 时,我收到错误消息: “TADLAboutBox 未找到。忽略错误并继续?”

定义“ADLAboutBox”的单元“ADLAbout”在main的uses子句中声明。 此外,我们的项目编译得很好。

我怎样才能摆脱这些消息?可能有什么问题?

非常感谢您的建议。

【问题讨论】:

    标签: delphi ide delphi-xe4


    【解决方案1】:

    该组件未安装在 IDE 中,因此当您打开使用该组件的表单时会出现错误。

    但是可以找到组件的源代码,所以当你编译它时,它会毫无问题地做到这一点。

    要消除错误,您必须在 IDE 中安装组件。

    【讨论】:

      【解决方案2】:

      ADL VCL 不适用于 XE4,因为它在 XE4 发布之前的一段时间就停止了。如果您有 ADL 源代码,并且已将其移植到 XE4,那么您可能会取得一些成功。

      您描述的错误消息是没有安装组件的设计时包的症状。您需要为要在设计时与之交互的任何组件构建和安装设计时包。

      【讨论】:

      • 感谢您的帮助!我们有源代码,它工作正常,只是 ide 在抱怨。我将考虑使用我们需要的文件创建一个单独的包。似乎我们从未在 2007 环境中将 ADL VCL 作为软件包安装。看来老ide应该一直在抱怨这个。你能想出它不这样做的任何原因吗?再次感谢。非常感谢您的帮助。
      • 如果没有活动的设计时包注册组件,旧的 IDE 会报错。所以我猜你确实在包中注册了组件。
      • Delphi 开发人员似乎对将包划分为运行时和设计时感到强烈。我已经将 AdlVcl 中我们仍然需要的几个组件放入了一个运行时和设计时的包中,并将其安装到 IDE 中,一切似乎都运行良好。如果我们公司不想使用运行时包构建并且我们已经将 AdlVcl 代码包含到我们的 .exe 中,那么以这种方式制作包以摆脱 IDE 投诉有什么问题吗?
      • 据我了解,存在许可问题。设计时功能是在不允许重新分发的代码中实现的。只要你不重新分发你的包裹,我相信你很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2013-09-12
      • 2014-04-07
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多