问题标签 [dcu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
881 浏览

delphi - 如何判断 Delphi DCU 中定义了哪些类型?

我有一组编译的 Delphi dcu 文件,没有源代码。有没有办法确定该 dcu 中定义了哪些类型?

0 投票
2 回答
2371 浏览

delphi - Delphi 6 命令行编译:没有 DCU

当对 .dpr 文件使用 dcc32 时,它会生成一个 dll 但没有 dcu。

项目级别 .cfg 使用 -N 开关设置路径,但指定目录中没有任何内容。它必须看到 .cfg,因为 –E 开关正在工作。

在调用 dcc32 之前,我尝试对 .dpr 文件使用 brcc32/brc32,但其中任何一个都给了我错误 projectName.dpr 3 1: Expecting END?

我需要来自 project1 的 dcu 用于 project2,当我针对 .dpr 运行 dcc32 时,它错误指出它无法从 project1 中为 project2 找到丢失的 dcu。

需要运行哪些步骤,clc/utility 来生成 dcu 文件?在安装了 Delphi 6 的 XP 上运行。DCC32 v14 BRC32 v5.4

0 投票
1 回答
429 浏览

delphi - 将 JVCL 的调试 DCU 与 C++Builder 一起使用

如何使用 C++Builder 调试 JVCL 代码?我在安装 JVCL 时启用了构建调试 DCU,我在项目的 Delphi 设置下打开了“使用调试 DCU”(在 C++ 设置下似乎没有类似的选项),并且我禁用了使用包构建。尽管如此,单步仍然会跳过 JVCL 代码,如果 JVCL 函数出现在堆栈跟踪中,双击它只会显示反汇编。

调试 RTL 和 VCL 代码工作正常;这只是我遇到问题的 JVCL 代码。

有任何想法吗?

编辑:我还注意到 JVCL 调试 DCU 对 Delphi 应用程序工作正常。我尝试在Process Monitor运行时构建我的项目,而对于 C++Builder 应用程序,它甚至没有尝试找到 JVCL DCU(因此这显然不仅仅是我的搜索路径的问题)。但是,它确实会查找核心 VCL 文件的 DCU。因此,显然 C++Builder 确定其依赖项的方式与 Delphi 不同,显然 JVCL 依赖项的处理方式与核心 VCL 依赖项不同,但我不知道如何或为什么。

0 投票
3 回答
5773 浏览

delphi - Delphi DCU 文件存放在哪里?

目前我还没有在我的主项目中为 Delphi DCU 设置任何特定的输出目录。这导致 DCU 文件与我的 .pas 源文件位于同一目录中。对我来说,这感觉很难看,因为我不喜欢在同一个目录中混合 .pas 和 .dcu 文件的想法。存储 Delphi .dcu 文件的最佳做法是什么 - 将它们全部保存在每个项目的一个目录中?或者可能为每个源文件夹创建一个 DCU 目录?欢迎任何想法。

0 投票
1 回答
950 浏览

delphi - 如何在没有 DISQLite3Api.pas 的情况下使用 DISQLite

我需要为一个项目使用 DISQLite for Delphi ( http://www.yunqa.de/delphi/doku.php/products/sqlite3/index ),但我似乎无法安装它。
我按照说明进行操作,但由于项目中使用的文件“DISQLite3Api.pas”不存在,因此无法编译该包。
有 .dcu 文件名称相同,我将它们复制到任何地方,设置环境库路径,但 Delphi 仍然要求.pas

0 投票
4 回答
6381 浏览

delphi - 如何阻止调试器进入 Delphi 提供的单元?

调试器在出现错误时会进入源代码(例如 with F7),但我想恢复正常工作模式,其中 Delphi 基本 DCU(库)仅编译到我的代码中,源代码不用于调试。

例如,在我的程序中出现错误时,调试器将进入 Controls.pas,进入TControl.Click. 正常情况(安装后)是 Delphi 跳过这些方法。

我应该在没有调试信息的情况下重新编译 Controls.pas 吗?如果是这样,怎么做?


我用附加信息扩展了这个主题,以便更好地理解:

我们使用 Delphi6 Prof. 鼠标有什么问题(系统错误代码 5)。所以我们要重新编译到 Controls.pas 来替换 Mouse Position getter 代码。然后:

  1. 我为它创建了一个文件夹:“c:\D\Common\Delphi_Patches\Delphi_6\”
  2. 我把原来的 Controls.pas 放进去。
  3. 我修改了 Controls.pas,替换了位置获取器代码。
  4. 我设置了Delphi的库路径,将第一个文件夹设置为“c:\D\Common\Delphi_Patches\Delphi_6\”

通过这些步骤,我可以使用鼠标安全代码编译源代码。

好的,但是Delphi每次都会在F7上进入Controls.pas,并且在任何例外情况下 - 这是非常“愤怒”的事情。

不管我从库路径中删除了“Controls.pas” - 然后调试器正在为它找到原始的“Controls.pas”,然后打开它...... :-(

我们不在任何代码中使用“使用调试 DCU-s”。

我试图从编译器选项中删除“调试信息”,但没关系,Delphi 会打开原始的 Controls.pas ...

所以我搜索Delphi的方式不要进入“Controls.pas”,而是使用我的dcu ...

我希望这为理解问题提供了更好的背景。

0 投票
2 回答
2055 浏览

delphi - 在单个 DCU 中编译多个单元

来自 .NET 背景,现在使用 Delphi。在 .NET 中,我曾经有一个单独的库项目,其中许多类被分成不同的文件。当我编译这个项目时,我得到了一个 DLL 文件。

但是,我无法在 Delphi 中做到这一点。我有很多类,每个类都有自己的文件,都有自己的单位名称(我没有找到让多个文件具有相同单位名称的方法)。当我编译我的项目时,我的项目中的每个单元都有一个 DCU 文件(我相信这相当于一个 .NET DLL?)。

问题是我不想拥有那么多文件!我希望我的所有课程都在不同的单元中只有一个 DCU 文件。有没有办法实现我想做的事情?您如何处理这些 DCU?

0 投票
3 回答
1650 浏览

delphi - 我们可以在运行时使用 dcu(Delphi 编译单元)吗?

我们可以使用 dcu 像 dll 这样的运行时吗?例如,显示在 dcu 文件中编译的表格。我有这个问题,因为我想开发可插入的应用程序。作为 Delphi 程序员,据我所知,我只有两个选项可以做到这一点,基于 dll 或基于 bpl。我喜欢基于 dll 的,因为它不依赖于 delphi 版本,但是.. 将表单保存到几个 dll 中,使每个 dll 的大小都很大,并且它的总大小比单个 .exe 大得多。使用 bpl,它取决于编译 bpl 和 exe 的 Delphi 版本。

或者有人可以解释一个技巧或策略,以便使保存表单的.dll 变得尽可能小?谢谢!

0 投票
1 回答
958 浏览

delphi - Delphi 2010安装后找不到项目中用到的组件dcu文件?

几年前我完成了一个项目。现在我想改进它。因此,我安装了之前在项目中使用的组件。但是当我运行该项目时,它给出了一个错误。编译器找不到某些组件对象的 dcu 文件。我该如何解决?

0 投票
1 回答
570 浏览

delphi - 有谁知道,Delphi 7 在哪里缓存 DCU 文件?

我安装了旧版本的 Eldos SecureBlackBox。现在我卸载了它并安装了最新版本。不幸的是,Delphi 缓存了旧的 DCU 文件,所以我不能使用新 dcu 文件中的新属性。

有谁知道,Delphi 7 在哪里缓存 DCU 文件?我必须清楚的是,新的 DCU 文件已加载?

我曾尝试使用 CCLeaner 进行清理,但没有成功。谢谢

沃尔特