Delphi:缺失的Dcu

9
Unit1.pas(7): F1026 文件未找到: 'MyBitBtn.dcu'
Unit1 是一个用于测试目的的 VCL 表单。
我安装了一个设计时包,其中包含从 TBitBtn 派生出的自定义组件 MyBitBtn。我可以在 Delphi IDE 中加载 MyBitBtn,加载我在设计时编写的自定义图像,它看起来工作正常,至少在视觉上是这样的。但是,在尝试编译测试项目时,我遇到了上述编译时错误。
我有一个包组,其中包括一个设计时包和一个运行时包。设计时包注册了该组件,而运行时包继承了 TBitBtn 并具有自定义代码。设计时包在 requires 部分包含运行时 DCP 文件。
当我在测试表单上插入自定义按钮时,IDE 会为 MyBitBtn 文件创建 USES 子句。但是,该文件显然无法找到。难道这不应该是已安装的包的一部分吗?
4个回答

11

很可能你在运行时包中没有设置“单元输出目录”选项,因此包中的 .dcu 文件不可用;我通常将其设置为$(BDSCOMMONDIR)\Dcp,并且没有问题。

通常情况下,如果你希望你的运行时包在任何项目中都可用,那么该运行时包的 .dcu 应该通过全局IDE库路径可用:

lib path.

你应该使用其中一个现有的路径或添加自己的路径。


这是安装一个需要另一个软件包的软件包时最神秘的问题之一!非常感谢! - Edwin Yip

3
设计部分可以工作,但运行时编译器必须能够找到dcu文件。您可以通过以下方式实现:
  1. 将dcu文件夹添加到IDE的库路径中。
  2. 将dcu文件夹添加到项目的搜索路径中。
  3. 或者将dcu显式地添加到项目中。
我会选择第一种选项。由于它是一个已安装的组件,您希望它对任何项目都可用,因此设置库路径是最合理的选择。

2

定义存储此dcu的路径在系统环境中。不要忘记将其包含在Delphi环境路径中。


0

前往 ZEOS 文件,打开 packages,选择你的版本(DelphiXE10/Delphi7 ...),然后进入 Win 32 文件夹,打开它并打开 Debug 文件夹。复制所有内容,前往 Program Files,Embarcadero,Studio,17.0,lib,Win 32,Debug 并粘贴,在每个 Win32 文件夹中都做同样的事情... 希望能帮到你 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接