End Sub 在立即窗口中可以看到运行结果。字符串变量的地址与字符串的地址不同。 还可以看到字符串变量str与str1的地址不同,而且字符串地址也不同,这说明在进行赋值操作,并不是将字符的首地址赋给str1而是在内存中另开一空间用来存放字符串。而在C语言内则可以使多个字符型指针变量指向同一个字符串的首地址。 当将API中的ByVal lpBuffer As String传值方式改为:ByRef lpBuffer As String传址方式时,运行程序中出错,VB编程环境将崩溃。 出错图: 因为传址时将变量本身的地址传给了API,并没有将字符串的首地址传给API,所以API在修改数据时造成访问错误。 总结: 不能用传址方式来调用API,如果用传址方式的话那么传递的是指向指针的指针,API将不能返回数据,并且造成访问数据出错,所以需要用ByVal传递字符串指针。 |
正在阅读:API中VB字符串作参数传递的本质论API中VB字符串作参数传递的本质论
2004-04-27 10:02
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键