【问题标题】:Using a Delphi DLL in C++在 C++ 中使用 Delphi DLL
【发布时间】:2011-05-16 12:59:42
【问题描述】:

如何在我的 C++ 项目(控制台应用程序)中使用用 Delphi 编写的 DLL?

我已经阅读了有关包装器的信息。还有比这更简单的方法吗?或者这个方法(包装器)是如何工作的?

【问题讨论】:

  • 这应该“正常工作”。你试过了吗?
  • 你需要知道如何生成头文件和lib文件吗?
  • 我记得在 Borland Delphi/C++ 6 DLL 中有一个奇怪的规则:如果你有一个函数名:FooFunction,你必须通过GetProcAddress 查找_FooFunction。此外,还有一个应用程序可以将 DLL 接口从/到 Boralnd 接口更改为/从标准 DLL 接口。 link
  • 我在 c++ 中使用了一个 DLL 很长时间了,因为我记得有一些 borland 工具可以从 DLL 生成 lib,我将它与我编写的包装头一起使用;;

标签: c++ delphi dll


【解决方案1】:

如果您使用 C++Builder 编译您的 C++ 项目,这很简单。只需在您的代码中包含由 Delphi 编译器生成的 C++ 包装头文件,并将您的代码与 Delphi 库存根链接。

但是,如果您无法访问包装器、Delphi 源代码或 Delphi 编译器,我不确定您是否可以做到这一点。在这种情况下,或者如果您不使用 C++Builder,如果 Delphi 代码将 OO 功能导出为 COM 对象,则必须应用 DLL 的典型用法并遵循标准调用约定和 COM 规则。

【讨论】:

  • @Craig Stuntz:你能解释一下这个方法吗?我找不到很好的参考,如果您添加示例,我将不胜感激。非常感谢
  • @Alireza:能否具体说明您是否对使用 C++Builder 的细节感兴趣?
猜你喜欢
  • 2016-11-07
  • 2011-04-03
  • 1970-01-01
  • 2013-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多