高手帮忙,vb.net传递数组给ocx控件(vc6)的问题?

yuanting2006 2006-06-19 09:55:36

我用vb.net编写的应用程序中需要使用vc++编写的ocx控件。在给该控件的一个函数传递数组时总是报错。我的ocx控件的函数是这样的。
short CUSBCtrl::ReadLong(long FAR* pInData)
{ 处理pInData 数组}

调用该控件:
dim A(40) as Integer
给数组A附值,然后调用函数
USB.ReadLong(A) ‘报错
USB.ReadLong(A(0)) ’报错

求各位帮忙!
不知道vb.net内部是怎样传递数组的?怎样解决?
...全文
175 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanting2006 2006-06-19
  • 打赏
  • 举报
回复
如果函数是这样的short CUSBCtrl::ReadLong(long FAR* pInData)
{ pInData[2]=23;
return 0;}
vb.net提示“未将对象引用设置到对象的实例”
如果函数是这样的short CUSBCtrl::ReadLong(long FAR* pInData)
{ int i ;
for (i=0;i<10;i++)
pInData[i]=23;
return 0;}
没提示。可是vb.net数组中的数据没有任何修改。
yuanting2006 2006-06-19
  • 打赏
  • 举报
回复
它说
“未将对象引用设置到对象的实例”
yuanting2006 2006-06-19
  • 打赏
  • 举报
回复
我试一下。
Knight94 2006-06-19
  • 打赏
  • 举报
回复
Have a try!
dim A(40) as Integer;
dim pAddress as IntPtr;
pAddress = Marshal.UnsafeAddrOfPinnedArrayElement( A, 0 );
USB.ReadLong(pAddress.ToInt32())
yuanting2006 2006-06-19
  • 打赏
  • 举报
回复
不太明白你的意思。
蒋晟 2006-06-19
  • 打赏
  • 举报
回复
What is your IDL?
yuanting2006 2006-06-19
  • 打赏
  • 举报
回复
vb.net中的integer和vc6的long的数据范围是一样的。
yuanting2006 2006-06-19
  • 打赏
  • 举报
回复
readlong的参数是int型的。它的参数说明是readlong(byref pInData as Integer)
晓轩 2006-06-19
  • 打赏
  • 举报
回复
ocx的参数是long FAR类型的数组,而你传递的是integer类型的数组?!!!!!
amandag 2006-06-19
  • 打赏
  • 举报
回复
up
Knight94 2006-06-19
  • 打赏
  • 举报
回复
你引用后,在vb.net中看到ReadLong的参数说明是什么
晓轩 2006-06-19
  • 打赏
  • 举报
回复
数据类型不匹配。
晓轩 2006-06-19
  • 打赏
  • 举报
回复
应该传递的是引用,不是传递值把。(byref)
1.动画及多媒体播放类 anigif6.ocx 动画播放gif文件控件 gif89.dll 又一个播放gif文件的动态链接库 gifPlayer.ocx 又一个播放gif文件控件 flash.ocx 能播放flash动画文件 Digital.ocx 数码显示数字、时间,挺漂亮 MovingChar.ocx 循环移动的字幕 wmp.ocx 提供的ActiveX控件制作媒体播放器 2.界面元素类 2.1.窗口类 asBubbleForm.ocx 显示图片信息提示的窗体控件,外形似帮助提示,弹出气泡式对话框 2.2.分隔条类 splitbar.ocx 窗口分割控件 2.3.工具条类 vbalExpBar6.ocx 不明,没用过 2.4.按钮类 CurtButton.ocx CurtButton 多风格按钮控件 JwldButn2b.ocx 漂亮的VB按钮,可以随意改变按钮表面和按下去时的边框颜色 SmartXpButton.ocx 一个VC开发的美观的XP按钮播放activeX控件 2.5.选项卡类 tabctl32.ocx 圆角选项卡控件 prjXTab.ocx 又是一款圆角选项卡控件,类似tabctl32.ocx 2.6.列表框类 SBLIST.OCX 界面很酷的列表框控件 vbalIml6.ocx 类似ImageList的图象控件 2.7.菜单类 asAssistantPopup.ocx 弹出管理菜单 2.8.皮肤类 YFSkins.ocx 非常美观的皮肤控件 VBOCX.OCX 允许你的应用程序的标题栏颜色为任意渐变色 3.系统类 asctrls.ocx 系统控件,用来安装active控件的,一般用不着 dmview.ocx 磁盘管理控件 fldrvw71.ocx 目录查看、选择、也可以显示文件,功能很强,但可能需要注册 proctexe.ocx Intel 程序纹理,进程信息查询 shlobj71.ocx 以系统默认的正常形式打开程序 sysmon.ocx 系统性能监视的ActiveX控件 Wxini.ocx 好象是读取ini文件的,没用过 4.内置类(VB或Windows系统自带的) combobox.ocx 下拉选择控件 comct232.ocx Animation1动画和UpDown comctl32.ocx 包含toolbar、treeview、listview、imagelist等(5.0) comdlg32.ocx 对话框 dbgrid32.ocx vb5的数据网格控件 dblist32.ocx vb5的数据列表控件 hhctrl.ocx Microsoft帮助文档界面相关文件 msdxm.ocx 媒体播放 msflxgrd.ocx 数据网格控件 mshflxgd.ocx 数据网格控件,是对msflxgrd.ocx的升级 msscript.ocx ScriptControl控件 mswinsck.ocx 网络通讯控件 richtx32.ocx 富文本框控件,增强文本数据显示 wshom.ocx 是Windows本地脚本对象运行时相关文件 5.未归类 MoveLabel.ocx 不明,没用过 LeftMenu.ocx 不明,没用过 daxctle.ocx 不明,没用过 chklsb26.ocx 好象超级兔子软件用到 ?gktube.ocx 孤独剑漏掉了 ?NewCombo.ocx 孤独剑漏掉了 tdc.ocx 相关表列数据ActiveX控件,没用过

16,554

社区成员

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

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