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 static
extern string ArrayTst(string[] ary);
调用:
string[] arytst=new string[]{
"a1 ", "b2 ", "c3 "};
TextBox1.Text=ArrayTst(arytst);