请教一个64位编译的VB.NET程序,调用64位 dll 的问题

alphen 2013-10-23 04:12:38
64位 的dll 是用VC2008写的



主要问题在于怎么传入传出字符串



dll其中一个函数声明为

Public Declare Function ws_readBlock Lib "WSR.dll" (ByVal Port As Integer, ByVal Block As Integer, ByRef Data As Byte) As Integer

问题就在这个参数上:ByRef Data As Byte


在Basic6下,这个方式声明是可以通过的,在VB.NET下32位编译的程序也可以正常使用这个函数,
但是VB.NET 64编译的程序调用这个函数传出的数值不对,只能获得Byte数组的第一个Byte数值,
后面的数值取不到。请哪位高手指点一下,谢谢!


...全文
174 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Public Declare Function ws_readBlock Lib "WSR.dll" (ByVal Port As Integer, ByVal Block As Integer, ByRef Data() As Byte) As Integer

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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