我用单一方法编写了.Net 3.5 dll,由Delphi .exe调用。
不幸的是它不起作用。
步骤:
1. 使用以下代码创建 C# 3.5 dll:
public class MyDllClass
{
public static int MyDllMethod(int i)
{
MessageBox.Show("The number is " + i.ToString());
}
}
- 转到程序集属性 --> 程序集信息并选中“使程序集 COM-可见”
- 使用 RegAsm.exe 注册我的 dll
这会引发 Delphi 异常,表明它无法连接 dll。
从非托管代码启用 C# 托管 dll 的使用需要执行哪些步骤。
有谁熟悉有关该主题的好例子吗?
谢谢
通过使用我的方法,您可能会更幸运地跳过 COM 部分非托管导出的项目模板 http://sites.google.com/site/robertgiesecke/Home/uploads/csharpprojecttemplateforunmanagedexports
class MyDllClass
{
[DllExport]
static int MyDllMethod(int i)
{
MessageBox.Show("The number is " + i.ToString());
return i + 2;
}
}
在 Delphi 中,您可以像这样导入它:
function MyDllMethod(i : Integer) : Integer; stdcall; extern 'YourAssembly.dll';
不过,我不得不否决你的问题。甚至不关心提供可以编译的代码。 (您的 C# 方法不返回值,但它期望为 int)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)