首页 > Windows开发 > 详细

在.net中调用Delphi dll的Pchar转换

时间:2016-03-28 08:52:21      阅读:470      评论:0      收藏:0      [点我收藏+]

Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型。如果Delphi dll是Delphi2007以前的版本编译的,则Pchar是Ansi类型;如果Delphi dll是Delphi2009以后的版本编译的,则Pchar是Unicode类型。请看以下实例。

Ansi类型:

[DllImport("my.dll")] 
[return: MarshalAs(UnmanagedType.LPStr)] 
public static extern String GetMyNickName( [MarshalAs UnmanagedType.LPStr)] String aName ); 

Unicode类型:

[DllImport("my.dll")] 
[return: MarshalAs(UnmanagedType.LPWStr)]
public static extern String GetMyNickName( [MarshalAs(UnmanagedType.LPWStr)] String aName ); 

调用实例:

string myName;
string nickName; myName = "Eric Tony"; 
nickName = GetMyNicName(myName); 

 

在.net中调用Delphi dll的Pchar转换

原文:http://www.cnblogs.com/sfzylong/p/5327706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!