我现在主要是一个C ++ Builder,并且构建了(供我自己使用)一组功能强大且有用的类,它们包含第三方数据库应用程序。我有一个使用Delphi的客户端。我想创建一个包/活动X对象/ DLL /暴露他可以在Delphi中使用的一些组件或类来利用我的代码。我正在使用XE2,他是最新的(XE5?)。如果它有用,我可以更新。有问题的数据库按时间顺序存储数字数据 - 所以我主要是在大型数组中移动。
最好的策略是什么?当然,我可以构建一个带有C风格导出函数的DLL,但我想知道是否有任何很酷的Embarcadero-ey工具我可以使用它来使它更优雅。我知道用C ++ Builder编写的组件不能在Delphi中使用,但是包呢?文件很模糊。
我无法找到有关此主题的信息,因为所有关于Delphi / C ++ Builder互操作性的搜索都采用了另一个方向。
答案 0 :(得分:2)
AFAICT,Delphi中不可能直接使用Builder类(无论是否为组件)。
Builder对象模型与Delphi中使用的模型略有不同,并且从未有过Delphi包装器。 (我不确定是否可以,因为C ++支持Delphi没有的多继承等功能。)
您找到信息的问题可能是因为无法完成。除了提供平面包装的DLL之外,ActiveX将是我能想到的唯一可行的替代方案。 Rudy Velthuis(TeamB的成员也参加了SO)写了一篇关于此的文章,他演示了这两种技术 - 平面包装和COM接口 - 以及如何应用这些技术的一个很好的解释。你可以找到他的帖子here。