C# 调用 delphi dll 问题

2025-05-21 06:34:03
推荐回答(3个)
回答(1):

  除了看出导入的时候没写明CallingConvention=CallingConvention.Cdecl 以外,暂时没看到更多问题。

  有条件最好自己调试一下,就是把DLL那个工程属性里,调试那一栏,启动程序设成C#的exe,然后启动项目设成DLL那个工程,开跑,这样DLL的代码里可以断点啥的(因为是C++工程,所以用这个工程启动调试的话可以调试C++代码),更容易找到错误的地方。

回答(2):

参数定义改一下。
function ss(var num:PChar):Integer stdcall ;
var p:string;
begin
p:='aaa';
StrCopy(@num,@p);
Result:=1;
end;

回答(3):

看错