C#调用DELPHI的DLL时传递string数组的问题
DELPHI里的是这样的:
function ArrayTst(strAry:Array of PChar):PChar;stdcall;
var
i:integer;
strAdd:string;
begin
strAdd:= ' ';
for i:=low(strAry) to High(strAry) do
begin
strAdd:=strAdd+strAry[i]
end;
Result:=PChar(strAdd);
end;
C#里是这样的:
声明:
[DllImport( "ArrayTest1.dll ", EntryPoint = "ArrayTst ", CharSet = CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public extern static string ArrayTst(string[] ary);
调用:
string[] arytst=new string[]{ "a1 ", "b2 ", "c3 "};
TextBox1.Text=ArrayTst(arytst);
但报出System.NullReferenceException:
未将对象引用设置到对象的实例。
发了两遍的贴子,没有一个人回,如果还没有人回我再也不来这个论坛了,这个问题已经困扰我几天了,在这个论坛也等了几天了,如果再得不到结果就放弃算了。
------解决方案--------------------
------解决方案--------------------http://interop.managed-vcl.com/cominterop_delphi.php