我在編寫一個系統時遇到了一個問題,無法在C#中調用Delphi6寫的DLL,只因為DLL的參數是string類型的。然後在網上找相關的資料,還是沒有結果。經過我的再三琢磨,現在已經解決,特寫此文章與大家分享我的喜愉!
Dellphi DLL文件:
///////////////////////////////////////////////////////////////////
library mydll;
uses
SysUtils,
Classes;
{$R *.res}
function Out_Char(str1:PChar;str2:PChar):Pchar;stdcall;
var
temp:PChar;
begin
GetMem(temp,Length(str1)+Length(str2)+1);
StrCopy(temp,str1);
StrCat(temp,str2);
Result := temp;
end;
Exports
Out_Char;
begin
end.
//////////////////////////////////////////////////////////////
在C#中調用方式:
[DllImport("mydll.dll")] public static extern string Out_Char(string str1,string str2);
然後就實現了DLL 傳string類型數據。
呵呵~~~~~~~