顶啥呢,VB里面全面用Long来代替指针。
正是我表达的意思
这正是我不解的地方啊!~
int *Add(int *a,int **b,char (*c)[5])
{
int *p;
*p=*a+*b;
//经过一系列等的运算
return p;
}
比如上面这个函数,如果在VB中是不是这样声明:
declare function add lib "dllname"(a as long,b as long,c as long) as long
然后这样用
dim num1 as integer,num2 as integer,str1 as string
dim rec as long
rec=add(num1,num2,str1)
这样对不对???
这正是我不解的地方啊!~
int *Add(int *a,int **b,char (*c)[5])
{
int *p;
*p=*a+*b;
//经过一系列等的运算
return p;
}
比如上面这个函数,如果在VB中是不是这样声明:
declare function add lib "dllname"(a as long,b as long,c as long) as long
然后这样用
dim num1 as integer,num2 as integer,str1 as string
dim rec as long
rec=add(num1,num2,str1)
这样对不对???
看来是不对的了……因为没有传递地址
To Joform 他这里如果用 ByRef呢?
如果是这样,那用byval的意思是什么?
下面这些还有问题吗????
dim num1 as integer,num2 as integer,str1 as string
dim rec as long
rec=add(virptr num1,virptr num2,strptr str1)
如果没有!还有最后一个问题没解决,关于返回值的:
我们现在用rec接收的是一个指针,(在C/C++里用*可取出并修改该指针所指的数值)在VB里现在要读出rec所指的int值该怎么办???请不吝赐教!
*************************************
去试了一下,virptr,strptr在VB中报错!~~~~
[此贴子已经被作者于2007-8-29 13:27:26编辑过]