在Delphi中使用C ++函数

时间:2018-12-16 19:07:46

标签: c++ delphi

我正在尝试导入在C ++库中创建的一些函数,以用于delphi。这是我要使用的库:https://github.com/NGSolve/netgen/blob/master/nglib/nglib.h

我在Google上四处查看,发现我必须从此头文件创建一个.dll文件,然后以某种方式在delphi中导入这些功能。问题是我不知道该怎么做!

你们能帮我吗?在此先感谢!

2 个答案:

答案 0 :(得分:8)

有两种主要方法可以做到这一点。两者都要求您从代码中生成DLL。我无法详细说明如何执行此操作。但是在我的网站上,我确实为您提供了详细信息和一些示例代码。请参阅下面的链接。

两种主要方法是

  • 平放对象。将对象的每个方法包装到一个普通函数中,然后从DLL中导出该方法。该对象只是作为某种句柄或未类型化的指针传递。您不能直接使用该对象,因此无需键入指针或句柄。 这是最简单的解决方案,但对DLL用户而言不如下一个解决方案方便:

  • 将您的对象转换为COM接口,并编写一个函数来实例化该对象。 这远非易事,但使DLL易于使用。

我的文章Using C++ objects in Delphi中介绍了这两种方式。

您可以在我的其他文章中找到更多信息:

答案 1 :(得分:1)

到目前为止,您只能在Delphi中使用纯C API接口。因此,也许首先尝试用普通的C函数调用包装C ++ API。