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
[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
相关文章推荐
- C#调用Delphi Dll返回字符串的示例
- C#调用C++DLL的小总结8---C++Dll中函数返回字符串指针
- c#调用Delphi 的DLL控件,传递字符串的解决
- C# 调用 Delphi Dll链接库方法及示例
- C# 调用 Delphi Dll链接库方法及示例
- Delphi 编写 DLL 返回字符串,.net 调用。
- Unity使用C#调用C++dll传递指针参数、接收指针返回值
- C#调用Delphi DLL获取字符串(C# IntPtr 与 string互转 )
- C#调用C++Dll字符串返回为空的问题
- wince C# 调用 mfc dll 返回字符串乱码之解决方案[转]
- Delphi 编写 DLL 返回字符串,.net 调用。
- C# 调用 Delphi Dll链接库方法及示例
- IronPython脚本调用C#dll示例
- 使用C#调用金诚信71x系列读卡器的DLL
- [转]使用C#调用金诚信71x系列读卡器的DLL
- 求教,c#如何调用delphi编写的dll中的函数
- C#DLL调用示例:Adlink的GPIB类
- delphi如何调用C#的dll?
- c#调用delphi开发的dll的指针参数
- C#中如何调用Delphi写的Dll,实现画图功能