我在编写一个系统时遇到了一个问题,无法在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类型数据。 呵呵~~~~~~~
|