【问题标题】:F2063 Could not compile used unit 'QuickPDF0724.pas'' error in Delphi XE4F2063 无法在 Delphi XE4 中编译使用的单元“QuickPDF0724.pas”错误
【发布时间】:2026-01-20 20:05:02
【问题描述】:

我在我的一个 pas 文件中包含了 QuickPDF0724 单位。我已经在工具 --> 选项中给出了这个单元的路径。但我收到错误消息:“F2063 Could not compile used unit 'QuickPDF0724.pas'

在那个单元提到的路径中,只有dcu文件,没有pas文件。

相同的代码在 Delphi 7 中运行良好,但在 Delphi XE4 中却不行。可能是什么原因?

【问题讨论】:

  • 您之前的问题呢?他们完成了吗?
  • @DavidHeffernan - 我已经评论并接受了你的回答。
  • 还有这个呢:*.com/questions/19806591/…
  • @DavidHeffernan - 我已经回答了这个问题。
  • 在我看来,Jan 的答案似乎是正确的。我仍然觉得你应该解决这个问题以包含不同的 DevEx 版本,因为这实际上是问题所在。总结这些问题很重要。我想您已经找到了解决问题的方法,但我们关心这些问题。您必须解决的问题与您提出而我们试图回答的问题之间存在细微差别。

标签: delphi delphi-7 delphi-xe4


【解决方案1】:

在那个单元提到的路径中,只有dcu文件,没有pas文件。

DCU 取决于 Delphi 版本。

因此,Delphi XE4 和除 Delphi 7 之外的任何其他 Delphi 版本都无法读取您在 Delphi 7 中制作的 DCU(安装了相同的更新集 - 这些更新可能会更改 Delphi RTL 并使这些 DCU 中的依赖关系失败)。

这意味着您要么需要使用 QuickPDF0724.pas 并使用您的 Delphi XE4 版本编译它,要么您需要找人为您完成它,然后将他们制作的结果 DCU 发送给您(可能会枯萎 - 完全制作对于与您相同的 Delphi XE4 内部版本(通过安装更新​​包更改内部版本号)。

【讨论】:

  • 内部版本号从什么时候开始重要?它并不总是重要的。通常,DCU 格式仅在主要版本上发生变化,除了 Delphi 2007,它可以读取 Delphi 2006 DCU。
  • @Arioch - 不幸的是,由于这是第三方库,我们没有它的 pas 文件
  • @nkp 然后让图书馆供应商给你,就像他给你 D7 DCU 一样
  • @RobKennedy 格式本身可能会保留,但依赖于 RTL 等?好的,我会尝试以更保守的方式重新表述它。
  • @Arioch'The - 我得到了在 Delphi XE 下编译的 QuickPDF0724 dcu。但是在 Delphi XE4 中使用它,我得到了同样的错误。我是否必须严格使用在 Delphi XE4 下编译的 QuickPDF0724 dcu 才能摆脱此错误?
【解决方案2】:

我的 Delphi 7 应用程序正在使用 QuickPDF0724,我在 Delphi XE4 中也尝试过。 QuickPDF0724 的版本号为 7.24。这与 Delphi XE4 不兼容。

所以,我下载了最新版本的 QuickPDF,即 DebenuPDFLibrary1011,其版本号为 10.11,与 Delphi XE4 兼容。

我对代码做了一些更改,例如:

  1. 将使用中的单位名称从 QuickPDF0724 更改为 DebenuPDFLibrary1011
  2. objQuickPDF : TDebenuPDFLibrary1011 等代码中的声明从 objQuickPDF : TQuickPDF0724 更改为
  3. 已更改构造函数:objQuickPDF := TDebenuPDFLibrary1011.Create 而不是 objQuickPDF := TQuickPDF0724.Create

休息很好...

【讨论】: