2

这些天我主要是一个 C++Builder 并且已经构建了(供我自己使用)一组强大且有用的类,它们围绕着一个 3rd 方数据库应用程序。我有一个使用 Delphi 的客户。我想创建一个包/活动 X 对象/DLL/一些东西,暴露一些他可以在 Delphi 中使用的组件或类来利用我的代码。我正在使用 XE2,他是最新的(XE5?)。如果有帮助,我可以更新。有问题的数据库以时间序列存储数字数据 - 所以我主要是在大型数组中移动。

最好的策略是什么?当然,我可以用 C 风格的导出函数构建一个 DLL,但我想知道是否有任何很酷的 Embarcadero-ey 工具可以用来使它更优雅。我知道用 C++Builder 编写的组件不能在 Delphi 中使用,但是包呢?文档含糊不清。

我在查找有关此主题的信息时遇到了麻烦,因为对 Delphi/C++Builder 互操作性的所有搜索都假定了另一个方向。

4

1 回答 1

2

AFAICT,在 Delphi 中不能直接使用 Builder 类(无论是否是组件)。

Builder 对象模型与 Delphi 中使用的对象模型有些不同,而且从来没有一个 Delphi 包装器。(我不确定是否有,因为 C++ 支持 Delphi 不支持的多重继承等特性。)

您在查找信息时遇到的问题可能是因为它无法完成。除了提供平面包装器的 DLL 之外,ActiveX 将是我能想到的唯一可行的替代方案。Rudy Velthuis(TeamB 的成员,也参与了 SO)写了一篇关于此的文章,他在其中演示了两种技术 - 平面包装器和 COM 接口 - 以及如何应用这些技术的很好的解释。你可以在这里找到他的帖子。

于 2013-10-24T12:42:45.247 回答