从 Delphi 调用 c++ 类库

Call c++ class library from Delphi

本文关键字:类库 c++ 调用 Delphi      更新时间:2023-10-16

是否可以从 delphi 2007 调用C++类库?这样做的方法是什么?我知道如何调用dll函数,但是如何处理类?

有几种方法可以做到这一点,但不能直接使用 C++ 类。实现此目的的两种有用方法都需要一些工作,此处对此进行了广泛描述:

在德尔福中使用C++对象 (http://rvelthuis.de/articles/articles-cppobjs.html)

更新

好的,我被要求进行更新。本文介绍了两种方法:

  • 编写和公开 C 函数,这些函数将C++对象作为(第一个)参数(C++类型在 Delphi 中简单地作为不透明类型传递),这些函数通过使用正确的参数调用类方法来执行类提供的功能。C函数可以从Delphi调用。
  • 为类编写 COM 包装器。本文介绍了如何在C++中完成此操作。

详细信息可以在文章中找到。

您不能从 Delphi 消费C++类。您需要以其他互操作友好的方式包装它们。例如:

  1. 使用公开功能的 C 样式函数包装C++类。
  2. 公开提供该功能的 COM 对象。