C#调用Delphi Dll返回字符串的示例

 
//----------------------Delphi-------------------
procedure GetSqlData(ASource: PChar; ADest: PChar; ADestSize: Integer); stdcall;
var
 S: string;
begin
 if ASource = nil then Exit;
 S := Format('%s 路过!',[ASource]);
 Move(S[1], ADest^, Min(ADestSize, Length(S)+1));
end;{ GetSqlData }
 
exports
 GetSqlData;
 
//----------------------C#-------------------
[DllImport(@"TempLib.dll")]
public static extern void GetSqlData(string ASource, StringBuilder ADest, int ADestSize);
 
private void button1_Click(object sender, EventArgs e)
{
    StringBuilder vDest = new StringBuilder(1024);
    GetSqlData("Zswang", vDest, 1024);
    Text = vDest.ToString();
}
 

你可能感兴趣的:(C#调用Delphi Dll返回字符串的示例)