读书人

C#调用DELPHI的DLL时传递string数组的

发布时间: 2012-02-11 09:51:35 作者: rapoo

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

读书人网 >C#

热点推荐