繁体   English   中英

从DLL导出接口。 C#Delphi VB C ++等

[英]Export Interface from Dll. C# Delphi VB C++ etc

我已经在Delphi中创建了一个能够从dll加载插件的应用程序。 dll导出一个看起来像这样的函数

function GetPlugin: IPluginInterface;

IPluginInterface是一个ActiveX类型库。 我认为是因为我使用的是类型库,然后可以使用C#或任何其他语言从dll导出IPluginInterface,但是经过一番谷歌搜索后,我发现情况并非如此,因为有很多关于托管和非托管的讨论代码以及无法执行此操作的原因。 所以我的问题是,我仍然能够在C#中创建一个插件,该插件将导出上述功能吗? 如果没有,除了C ++之外,还有哪些语言能够做到这一点?

所以我的问题是,我仍然能够在C#中创建一个插件,该插件将导出上述功能吗? 如果没有,除了C ++之外,还有哪些语言能够做到这一点?

Windows上的所有主流编程环境都可以产生和使用COM接口。 C,C ++,C#,VB6,VB.net,Delphi等。 因此,是的,您可以使用COM接口执行任务。

详细地说,您不能做的是将接口从Delphi DLL中传递出去,作为函数的返回值。 那是因为Delphi对函数返回值使用了非标准的语义 相反,您需要通过out参数返回它。

因此,您需要像这样编写GetPlugin

procedure GetPlugin(out Plugin: IPluginInterface); stdcall;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM