Dav*_*ave 10 c# delphi delphi-2007 stdcall
我有一个程序,我需要创建一个DLL,希望在C#中.该程序是用Delphi编写的,我有一个代码的接口文件.该接口使用stdcall调用约定.
是否可以创建符合接口的C#DLL并可以在Delphi应用程序中使用?
是否有一些示例代码演示如何将C#DLL编码为stdcall接口方法?
这在纯C#中是不可能的,但是这篇文章展示了如何将非托管导出表添加到C#库,然后可以使用任何其他语言.请注意,大量的闪电战参考不应该让你失望 - 它们与作者自己的背景有关,与基本概念及其运作方式无关.
Brian Long的一篇会议论文中还有一节.尽管C#没有这样做,但Delphi.Net实际上支持非托管导出,这让你觉得有点讽刺.我不知道Delphi Prism是否也是如此.
我之前一直在这条路上.我选择的解决方案是创建一个新的 C#程序集(我后来将其移植到Prism),它通过com interop暴露了我需要达到的功能.我发现通过黑色拳击API调用更简单的东西,我能够减少我必须处理跨越互操作屏障的类的数量.
我确实看过Hydra,但是对于我试图做的事情来说太过分了......这是访问第三方SDK,它在.net程序集中呈现以处理数据.如果您正在考虑在您的应用程序中嵌入功能(gui对象,等等),那么您应该考虑Hydra.
我确实使用Managed.VCL作为系统的早期版本,但后来放弃了Prism/C#com互操作方法,它更易于部署,更稳定.
| 归档时间: | 
 | 
| 查看次数: | 11267 次 | 
| 最近记录: |