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

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 回答
170 浏览

c++ - Embarcadero C++Builder XE5 的 LuaJIT 错误

我使用 MinGW32 和 MSVC32 编译了最新的LuaJIT版本,然后使用 Embarcadero 的 implib 工具创建了一个导入库:

该库与示例 C++ 程序链接,并使用 bcc32 编译器进行编译。

与 vanilla Lua 5.1 一起工作的所有东西都可以在 LuaJIT 上正常工作(当然要快得多),但问题出现在FFI上。

这是我的 C++ 代码中的一个简单 C 函数:

test.lua 文件:

CPP执行部分:

lua_pcall()执行时,它test_ffi()按预期调用,但是传递给函数的值不是100,而是一些未初始化的随机值。结果lua_pcall()是 2。

我尝试了各种调用约定(__cdecl, __stdcall)但没有效果。

此外,用 MinGW32 DLL 替换 MSVC32 DLL 会产生相同的结果。

void调用某个函数时,lua_pcall()会在lua51.dll. 我知道 LuaJIT 并没有正式支持 bcc32 编译器,但是除了 FFI,其他所有的 API 都可以正常工作。

有谁知道发生了什么?

0 投票
1 回答
719 浏览

c++ - 如何实现从 TPaintBox 创建的新组件的 OnClick、OnMouseDown、OnMouseUp 事件?

我正在尝试从 TPaintBox 创建一个新组件。新组件大小为 Rect(0,0,160,248)。我在新组件上绘制了两个矩形,我想为上面的每个矩形实现事件。

获取矩形位于 Rect(102,43,157,63) ,我想为此矩形区域实现 OnGetClick 、 OnGetMouseDown 、 OnGetMouseUp 等事件。

设置矩形位于 Rect(102,69,157,89) 处,我想为此矩形区域实现 OnSetClick、OnSetMouseDown、OnSetMouseUp 等事件。

新组件区域的其余部分将显示与 VGauge 相关的值,我不包含在下面的代码中。

我不知道如何为新组件实现上述事件。所以,我希望得到实现这个组件的建议。

0 投票
1 回答
92 浏览

c++builder-xe5 - 如何在显示桌面(或 windows + D)后使模态表单取消最小化

当我启动我的应用程序时,显示的第一个也是唯一一个表单是模态的登录表单:

在 ShowModal 之后发生了代码,它打开了应用程序的主窗体(不是模态)。

当我按Show Desktop或执行windows + D并且我仍在登录模式表单上时,单击任务栏时我无法恢复登录。

1.有没有办法在“显示桌面”后取消最小化模式登录?

2.另外,如果我打开我的应用程序并出现登录名,在任务栏>“关闭窗口”中右键单击它时似乎无法关闭它。有没有办法通过任务栏关闭它?(不过,在登录表单的角落使用红色“x”时,它会完美关闭)

我正在使用 C++ Builder 10.1 Berlin

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

c++ - 如何修复模块“COMCTL32.DLL”中地址<>处的访问冲突。读取地址 FFFFFFFF。在 Embarcadero C++ XE5 中

我们在使用 Emabarcadero C++ XE5 开发的桌面应用程序上的 COMCTL32.DLL 中遇到访问冲突错误。这个问题主要发生在用户环境中,他让应用程序在一夜之间运行,并且当他在很长一段时间后访问它时 - 应用程序崩溃了。

堆栈跟踪如下所示

有没有其他人看到过类似的问题?

有什么建议可以解决这个问题吗?

0 投票
0 回答
395 浏览

c++ - Embarcadero C++ Builder TADOConnection try catch

我用 Embarcadero C++ Builder XE5 编写 DLL。我使用 TADOConnection 连接 MS SQL Server 上的数据库。

一切正常,直到服务器由于某种原因不可用。如果您不是从 IDE 下运行应用程序,那么捕获异常的常用方法(try catch)不起作用,并且程序崩溃。有人怀疑这是 XE5 中的错误。如果有人遇到过这个或类似的问题并解决了,请提出解决方案。

0 投票
1 回答
60 浏览

c++builder - 如何在 C++Builder 中将 VirtualTree 记录从一个 VT 引用到另一个 VT?

有人可以帮我在 C++Builder 中使用 VirtualTree 吗?

我有VT1记录:

图片

VT2在其中记录:

图片

我将值从复制VT1VT2

我怎样才能从VT1to引用记录VT2呢?这个对吗?

0 投票
1 回答
45 浏览

c++builder - 将常量传递给 TINiFile.ReadString

每次将余弦传递给 ReadString 时都必须使用L吗?

Embarcadero 示例没有这样说,但他们也没有在示例中使用非 ASCII 字符。

0 投票
1 回答
328 浏览

json - RAD Studio XE5 JSON 支持

我正在使用 RAD Studio XE5 进行软件开发。使用最新版本的 RAD Studio (10.3),RTL/VCL 中有一个 JSON 库可用于解析和创建 JSON 对象。

我的问题是,是否有任何类似的库可以在 RAD Studio XE5 (C++) 中用于 JSON 解析和对象创建?

0 投票
1 回答
73 浏览

c++builder - 回到旧的 XE5 C++Builder 平台

我有一个 C++Builder XE5 的实例,它是几年前安装的,已经有一段时间没有接触过了。我需要创建一个新的应用程序并且忘记了有关如何启动项目的所有内容。至少可以说,该平台的帮助文档并不是最容易浏览的。

我最接近的是 Youtube 上的一个演示,它说要创建一个 VCL 应用程序 - 在我的安装上不可用,只有一个 VCL 表单应用程序。我试图找出 VCL 表单应用程序是什么,但 IDE 帮助系统似乎再次假设您已经知道这一点。

所以,我的问题很简单:VCL Forms 应用程序会做我想做的事,即创建一个基本的 GUI 屏幕并在其后面运行一些 C++ 代码吗?

另外,这两种项目类型之间的本质区别是什么?