急:在VB2005中,调用OCX时,关于数组地址传递的问题?

是这样的,我需要在VB2005中,调用一个外部的OCX控件。该控件中有这样一个方法:
Public Overridable Function FpGetEnrollData(ByRef fpData As Integer, ByRef fpSize As Integer) As Boolean

参数中的fpData是指向数组的指针,fpSize是指向Long型变量的指针。

请帮我看一下,如下的VB2005代码是否正确?

Dim vFpData(512) As Integer
Dim vFpSize(0) As Integer
Dim vbRet As Boolean
vbRet = PIS.FpGetEnrollData(vFpData(0), vFpSize(0))

由于在.net中很多关于指针的功能都被取消了,我不确定用vFpData(0)能否表示vFpData数组的地址,这是试图沿用VB6.0中的用法,一点把握都没有,并且代码运行也确实不正常。

比如那个fpSize的参数,本来没必要用数组,但我不知道如何获取指针,只好定义了只有1个元素的数组,并试图用vFpSize(0)来获取数组地址。请高手赐教!谢谢。
当运行到这一句时:

vbRet = PIS.FpGetEnrollData(vFpData(0), vFpSize(0))

程序会自动退出。无论是在调试环境还是在编译环境中。

第1个回答  2008-12-25
指向数组的指针直接带入数组名就可以了吧
第2个回答  2008-12-30
领分的
相似回答
大家正在搜