您的位置:首页 > 编程语言 > Delphi

C#调用Delphi Dll返回字符串的示例(使用Move才能拷贝字符串)

2017-01-24 22:22 645 查看
[align=left]//----------------------Delphi-------------------[/align]
[align=left]procedure GetSqlData(ASource: PChar; ADest: PChar; ADestSize: Integer); stdcall;[/align]
[align=left]var[/align]
[align=left] S: string;[/align]
[align=left]begin[/align]
[align=left] if ASource = nil then Exit;[/align]
[align=left] S := Format('%s 路过!',[ASource]);[/align]
[align=left] Move(S[1], ADest^, Min(ADestSize, Length(S)+1));[/align]
[align=left]end;{ GetSqlData }[/align]
[align=left] [/align]
[align=left]exports[/align]
[align=left] GetSqlData;[/align]
[align=left] [/align]
[align=left]//----------------------C#-------------------[/align]
[align=left][DllImport(@"TempLib.dll")][/align]
[align=left]public static extern void GetSqlData(string ASource, StringBuilder ADest, int ADestSize);[/align]
[align=left] [/align]
[align=left]private void button1_Click(object sender, EventArgs e)[/align]
[align=left]{[/align]
[align=left] StringBuilder vDest = new StringBuilder(1024);[/align]
[align=left] GetSqlData("Zswang", vDest, 1024);[/align]
[align=left] Text = vDest.ToString();[/align]
}
http://blog.csdn.net/zswang/article/details/1615264
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: