问题标签 [c++builder-5]

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 投票
0 回答
1531 浏览

c++ - 应用程序错误:在 00039BB3 的一些 xyz.dll 模块中出现异常 EFOpenError

我正在使用 Borland C++Builder 5 编写的应用程序。另外,我有一个用于相机功能的 DLL,它将由主应用程序静态加载。

我经常遇到以下错误,我不知道它是什么:

00039BB3 模块 .dll 中的异常 EFOpenError

如果发生此错误,替换 DLL 的同一副本将不起作用。相反,我必须重建 DLL 并再次运行应用程序。

请帮助我理解并解决此错误。

0 投票
1 回答
78 浏览

c++ - C++ XE 5 应用程序和 C++ Builder 5 dll 兼容性

我有 BCB5 dll 方法:

当我从 C++ builder 5 应用程序调用此方法时,它工作正常。

但是,如果我尝试从 C++ XE 5 应用程序调用此方法,我会遇到访问冲突。

有没有办法解决XE 5应用程序到BCB 5 dll的数据传输问题而无需在XE5中重新编译dll?

0 投票
1 回答
158 浏览

c++ - 使用 c++ builder 5 编译 sqlite 数据库时出错

我在尝试使用 C++Builder 5 代码编译 sqlite 数据库时遇到问题。

我下载了 sqlite-amalgamation,并将所有文件添加到项目中:

然后我包含sqlite3.h在将使用数据库的 MainForm 中。

首先,我认为是我的代码有问题,但是在使用带有 DBGrid 的简单表单对其进行测试以显示数据库中的数据后,我得到了以下错误:

问题是什么?

我遵循了有关如何添加 sqlite 的 Internet 教程,但它们不起作用。

如果无法将 sqlite 与 C++Builder 5 一起使用,是否还有另一个与之兼容的嵌入式数据库?

我听说我可以使用 CSV 文件作为数据库,我可以这样做吗?如果是这样,怎么做?

0 投票
2 回答
1092 浏览

c++ - 动态创建的复选框的事件处理程序

我使用 Borland C++ Builder 5 编写了一个 C++ 程序。该程序动态创建一个对象数组TCheckBox。我试图编写一个OnClick事件处理程序来识别哪个复选框被单击并基于它执行一些指令。我的事件处理程序基于与该网站类似的帖子,但我似乎无法使其工作。

这是(缩写)代码

0 投票
1 回答
70 浏览

batch-file - Borland 错误 E2194:找不到文件,makefile 中的 qoutes 问题

我有一些基于 Borland 的项目,低于版本。

在此处输入图像描述

我可以在 IDE 中清理/制作/构建它

在此处输入图像描述

直到今天我能够在 cmd 中实现它:

执行上述命令后,我有.dll文件。

今天我在系统范围内所做的只是卸载MSSql Server,现在我收到以下错误:

所以现在,我没有结果.dll

如果我使用Project -> Export Makefile...,从 IDE 创建和运行 make 文件,我也会遇到同样的错误Project -> Execute Makefile

这是 Makefile 的一部分,据说是导致错误的原因:

还有什么,在我们有一些脚本作为自动构建系统的一部分之前,那个固定的 makefile:

真的不可能理解这里发生了什么......我认为在十六进制编辑器中理解编译代码比 MS 批处理文件更容易......我认为在那里完成的是替换引号。我试图删除引号,但它没有帮助......

有人可以帮我从 cmd 编译这个项目吗?

更新

好的,所以我从make.exe -fTSAssdelay.mak包含空格的所有目录路径中生成并删除了命令:

如您所见,也可以将它们放在一起:-IL:\TS\;L:\TSBF\

所以现在,我得到了.obj文件,但我仍然需要链接。

如果我从 makefile 中删除这些路径,我会得到:

0 投票
1 回答
177 浏览

c++ - 从 32 位 DLL 访问 64 位 DLL

我正在将CEF4Delfi库移植到 Borland C++Builder 5。我从移植的 CEF4Delfi 源代码制作了一个 BPL 包,并从我的 C++Builder 5 代码中引用它。

我在 Windows 10 64 位上工作。

在移植时,我一直坚持导入 DLL 函数。

以下是部分导入:

由于链接,我收到错误,例如:

MAKE0000.@@@这是来自 C++Builder的临时链接文件:

如您所见,c:\windows\system32;包含在路径中。

所以,我假设从 32 位应用程序导入 64 位 DLL 存在问题,整个互联网都说这是真的。

我开始在一个单独的 C++ 模块中使用来自 的代码重新实现这些函数Wine,但它确实是非常多的代码。突然间,我看到我们用 C++Builder 5 构建的另一个 32 位 DLL 实际上确实引用了 64 位 DLL!

图片

那么,System32从使用 C++Builder 5 构建的库中调用 64 位 DLL 函数的技巧是什么?

更新

以下是这些函数实际上是从父 DLL 导入的证据:

图片

更新

更多证据:

图片

更新

好的,这是makefile:

更新

对于@PaulMcKenzie:我有一个 64 位操作系统,我需要使用 Borland C++Builder 5 构建一个 32 位应用程序才能在 64 位操作系统上运行。Unresolved external当我从文件中引用驻留在 Windows DLL 中的 Windows 函数时,我遇到的问题是错误问题.pas