vb调用c++生成的dll里的函数的简单问题~

不知道分类改算vb还是c++。。vbbyref传递给dll一个自定义类型(type),dll里的函数计算出一个数组然后返回一个int指针。我想知道vb这边得到这个int指... 不知道分类改算vb还是c++。。

vb byref传递给dll一个自定义类型(type), dll里的函数计算出一个数组然后返回一个int指针。
我想知道vb这边得到这个int 指针之后如何取得数组里所有元素的值?
或者有什么更好的办法??

另外,如果dll的函数需要计算很久, 怎么才能让vb这边的窗体不发生假死??
vb版本 vb6
c++版本 vs2012
展开
 我来答
zhuhuaizhong
2013-04-25 · TA获得超过7276个赞
知道大有可为答主
回答量:3978
采纳率:63%
帮助的人:3561万
展开全部
我觉得你不应该返回int指针,你应该在你的vb中定义整型数组,然后用byref 的形式传递指针给函数,让函数把结果存放在vb的数组里再裂哗操作。

假死是你的dll函数耗时造成的,不是vb造成的,简单点的话你可以让你的函漏源纯数用api让光标返咐等待,计算完了再恢复光标,这样用户就知道怎么回事了。
或者你用多线程来调用,不过比较复杂,可以寻找相关资料。
追问
比如vb里写dim arr(3) as long然后byref传给dll的函数(void foo(int* arr))那么能否直接用c++赋值(arr[1] = 1;)?听说vb里数组不是连续的内存啊
其实我已经想到一种不得已的办法——vb告诉dll i,dll返回数组第i项。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式