vb和com之间数据传递的问题(急!很急!)

hzwman 2003-10-09 11:18:58
哪位大虾帮我看看这个问题,我用ATL写了一个COM接口,定义如下:
HRESULT QueryArray([in]BSTR pName,[in]BSTR pWSDLLocation,[in]VARIANT pFacts,[in]long pLength,[out,retval]VARIANT *pResult);
在VB中调用如下:
Dim rtnArray As Variant
Public m_length As Integer
Private m_wsdlLocat As String
Private m_array(34) As String
Private vName As String
rtnArray = QueryArray(vName, m_wsdlLocat, m_array(), m_length)
但调用总是偶尔会出现问题,就是在vb端数组m_array(34)的第22项偶尔出现值变得乱七八糟的现象,估计是什么地方内存处理不当,无法解决,请哪位帮帮忙,看看我传递参数的方式有没有问题?
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzqg 2003-10-09
  • 打赏
  • 举报
回复
所以我想如果你把m_array的值变一下。是否会在其他位置出现乱值呢?
gzqg 2003-10-09
  • 打赏
  • 举报
回复
对c不是很了解。但我觉得通过指针操作vb中定义的string数组?指针是否能准确找到地址,我不知道c++中string的空间为多大。
hzwman 2003-10-09
  • 打赏
  • 举报
回复
谢谢楼上的大虾,不过我要传递就是一个字符串型数组,该怎样转啊?请明示!
yunfeng007 2003-10-09
  • 打赏
  • 举报
回复
Private m_array(34) As Byte
然后用strconv函数和字符串进行转换
hzwman 2003-10-09
  • 打赏
  • 举报
回复
谢谢兄台提醒,不过我在COM里处理数组是没啥异常的,而是在VB程序里就发现数组出现乱的现象

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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