我有一个简单的任务:
是否可以编写一个Delphi DLL,并放置一个.Net程序集(只有一个接口有4个方法和一个类实现接口),并从Delphi DLL中调用它?
我的意思是,如果我为tlb创建一个tlb和一个delphi单元,而不注册Assembly / tlb,我可以直接从.Net汇编(相对文件名)导入.Net类型吗?
最好,
thalm
编辑(我发现):
大多数解决方案必须为COM注册至少一个dll / tlb.但是,我发现的最有希望的是:来自Robert Giesecke的Unmanaged Exports,它是一个Visual Studio项目模板,它允许您编写静态C#(或任何.Net语言)方法,并从任何非托管语言调用它们,真棒:
class Test { [DllExport("add",CallingConvention = CallingConvention.StdCall)] public static int Add(int left,int right) { return left + right; } }
编辑2:
真的很有用!你甚至可以控制类型编组,难以置信!