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

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

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

最佳答案

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

Builder对象模型与Delphi中使用的模型有所不同,并且从来没有使用过Delphi包装器。 (我不确定是否可能,因为C ++支持诸如Delphi不支持的多重继承等功能。)

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

关于delphi - 什么是向Delphi公开C++ Builder代码的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19547495/

10-11 22:57
查看更多