在.net中调用Delphi dll的Pchar转换
2016-03-28 08:48
375 查看
Pchar是非托管代码,要在.net中调用Delphi dll中的功能,请使用MarshalAs属性告知.net调用PInvoke去转换.net中标准的string类型。如果Delphi dll是Delphi2007以前的版本编译的,则Pchar是Ansi类型;如果Delphi dll是Delphi2009以后的版本编译的,则Pchar是Unicode类型。请看以下实例。
Ansi类型:
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);
相关文章推荐
- 解析Delphi中常用的多种形式消息框
- Delphi XE Seattle update1 调试iOS 9.3程序时,不能用真机调试的问题
- Delphi XE Seattle update1 在iOS 9.3模拟器调试程序时出现dlopen(libmidas.dylib,1):image not found错误的解决
- DELPHI XE2 采用 JSON 的方式来序列化对象
- Delphi操作Unicode字符
- delphi主i窗口中实现多页面管理效果
- Delphi检查GetElementByID返回值的有效性
- intraweb 11.0.63 for delphi7 破解
- delphi 回调函数
- Delphi基础Write写入结构体到文件(使用 file of myrecord就行了,真简单)
- dwExStyle和dwStyle的说明(Delphi SDK窗口)
- UDP协议的两个主要方法sendto和recvfrom详解
- delphi POS机无驱动打印
- delphi 实体类 JSON
- Delphi三层开发小技巧:TClientDataSet的Delta妙用
- delphi三层结构常出现的问题和解决方案
- Delphi使用大图标编译程序
- Delphi实现窗口一直在桌面工作区内显示(重写WM_WINDOWPOSCHANGING消息)
- delphi 调用 java
- Delphi_02_Delphi程序的结构