求助,c#调用Delphi的dll,有个参数为pbyte类型,请问c#中哪个类型与它对应

zhiheyang 2010-06-28 02:28:50
求助,c#调用Delphi的dll,有个参数为pbyte类型,请问c#中哪个类型与它对应?谢谢
...全文
469 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jellyfancy 2010-07-01
  • 打赏
  • 举报
回复
另外:delphi默认字符是gbk;而c#是auto,一般传字符串是CharSet=CharSet.ansi
Jellyfancy 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yanghe1117 的回复:]
最后直接用c#中的string类型传过去的,不过传过去的是gb18030的字符串,但在调用的delphi中显示的却是问号(?),有知道为什么的嘛?有谁做过类似的东西,能否给说下
[/Quote]
什么叫在delphi中显示的是问号?
不是调用delphi的dll吗?
zhiheyang 2010-07-01
  • 打赏
  • 举报
回复

最后直接用c#中的string类型传过去的,不过传过去的是gb18030的字符串,但在调用的delphi中显示的却是问号(?),有知道为什么的嘛?有谁做过类似的东西,能否给说下
jianuMan 2010-07-01
  • 打赏
  • 举报
回复
和 byte 对应

http://www.netcoole.com/delphi2cs/datatype.htm
Jellyfancy 2010-07-01
  • 打赏
  • 举报
回复
CharSet=CharSet.unicode试试吧
zhiheyang 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 jellyfancy 的回复:]

另外:delphi默认字符是gbk;而c#是auto,一般传字符串是CharSet=CharSet.ansi
[/Quote]
我在c#中引用方法时写了CharSet=CharSet.ansi,还是不行,但它自己用Delphi直接调那个Delphi的dll就可以显示出来啊,我在c#的程序中给它直接传的string字符串,要做什么编码的转化吗?
wuyq11 2010-06-28
  • 打赏
  • 举报
回复
pbyte byte
pshortint short
pint64 long
zhiheyang 2010-06-28
  • 打赏
  • 举报
回复
让我试试先
yongbo2008 2010-06-28
  • 打赏
  • 举报
回复
byte[] 或者 用IntPtr
mayonglong 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 computerfox 的回复:]
p应该是pointer,pbyte就是指向byte的指针,C#虽然没有指针的概念,但是byte[]数组变量存放的就是指向连续的byte空间的首地址,应该可行!
[/Quote]

应该是这样~
捷哥1999 2010-06-28
  • 打赏
  • 举报
回复
p应该是pointer,pbyte就是指向byte的指针,C#虽然没有指针的概念,但是byte[]数组变量存放的就是指向连续的byte空间的首地址,应该可行!
healer_kx 2010-06-28
  • 打赏
  • 举报
回复
肯定是byte[]啦,结贴吧~

不过Delphi那个肯定也是byte^定义出来的。
Jellyfancy 2010-06-28
  • 打赏
  • 举报
回复
unsigned char *
luluyy 2010-06-28
  • 打赏
  • 举报
回复
跟VC++里面的Cstring 差不多
yaazz 2010-06-28
  • 打赏
  • 举报
回复
c#托管代码中没有指针的概念
zhiheyang 2010-06-28
  • 打赏
  • 举报
回复
pbyte是指向byte还是byte[]的指针?
yaazz 2010-06-28
  • 打赏
  • 举报
回复
帮顶
试试:byte[]

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧