创建一个DLL Delphi,它导出C ++类

时间:2014-08-08 15:01:05

标签: c++ delphi dll

对于插件我需要创建一个导出C ++类的DLL。 (对于西门子HMI操作)我的问题是,我想在Delphi中编写这个插件。我需要使用很多自己的库,这些库都是Delphi。

所以问题是:可以用Delphi创建这样的DLL吗?

当我在PE Explorer中打开这样的插件DLL(用Visual C ++编写)时,它的导出如下所示:

?createDialogBar@SlGfwPluginByMakroBase@@UAEPAVSlGfwDialogBar@@ABVQString@@PAVQWidget@@0@Z

public: virtual class SlGfwDialogBar * __thiscall SlGfwPluginByMakroBase::createDialogBar(class QString const &,class QWidget *,class QString const &)

1 个答案:

答案 0 :(得分:5)

  

可以用Delphi创建这样的DLL吗?

不,不能。您需要使用主机进程期望的特定C ++实现来创建DLL。

也许你能做的最好的事情就是在那个特定的C ++实现中创建插件DLL,然后通过调用你的Delphi代码来实现类的方法。但是必须使用C ++实现主机进程导入的C ++类。换句话说,您使用C ++在要求特定C ++实现的插件接口和用Delphi编写的代码之间建立桥梁。