vb是怎么使用地址的

vb是如何使用地址的
取对象地址: ObjPtr
取OLE对象的地址: OLE_NAME.LpOleObject
取函数地址: AddressOf
取字符串地址: StrPtr
取变量地址: VarPtr
取数组变量地址: VarPtrArray
取字符串数组地址: VarPtrStringArray

请问vb是如何使用地址的? 例如使用地址调用函数 、使用地址访问变量
vb 地址

------解决方案--------------------
VB虚拟机使用VC编写的。C语言本身就支持指针操作。
比如
int i = *p; // p是一个指针
int r = (SomeFunction *)pCallback(param1, param2); // pCallback是一个SomeFunction类型的函数的函数指针。

在汇编层面,指针就是(逻辑)地址。
比如上面两行:
mov i, DWORD PTR p ;将p所在地址的值复制到i中
push param1 ;将参数传入
push param2
call pCallback ;跳转到函数入口地址
------解决方案--------------------
我只是科普地说说。比如如果你深入学习汇编语言,就会知道,地址也分为很多种。
函数调用约定也分为很多种(我演示的是API调用的约定,或者叫stdcall)。

这些东西在大学本科二年级的专业基础课上都会系统学到的。没必要从什么《高级编程》中支离破碎地寻找答案。
------解决方案--------------------
楼主的问题有点宽泛,这个的具体问题具体分析了。真不是我敷衍了事
------解决方案--------------------
引用:
VB虚拟机使用VC编写的。C语言本身就支持指针操作。

根本就是——扯淡!!!
按这样的逻辑,青菜炒熟了,放阳光下照样可以进行光合作用。只要适量加水,控制食用量,子子孙孙无穷尽也——解决饥荒就靠你了。
------解决方案--------------------
 
AddressOf 运算符
      

一个一元运算符,它将其后面的过程的地址传递给一个 API 过程,该 API 过程在参数表对应位置中需要一个函数指针。

语法

AddressOf procedurename

必需的 procedurename 指定要传递的地址是哪一个过程的地址。这个过程必须是发出调用命令的工程中的一个标准模块模块里的一个过程。

说明

当一个过程的名称出现在一个参数列表中时,通常该过程已经被计算,并且该过程返回值的地址也会被传递。AddressOf 允许该过程的地址被传递给动态链接库 (DLL) 中的一个 Windows API 函数,而不是传递该过程的返回值。API 函数然后就可以使用这个地址来调用相应的 Basic 过程,这个过程就是我们所知道的回调。AddressOf 运算符只出现在对 API 过程的调用中。

尽管可以使用 AddressOf 运算符在 Basic 过程之间传递过程指针,却不能通过这样的一个指针从 Basic 内部调用一个函数。这就是说,例如,一个使用 Basic 编写的类 不能使用这样的一个指针来回调自己的控制器。当使用 AddressOf 运算符在 Basic 内的过程之间传递一个过程的指针时,被调用过程的参数类型必须定义为 As Long。

警告 如果不能完全理解函数回调的概念,则使用 AddressOf 运算符可能会导致意想不到的结果。必须理解回调的 Basic 部份是如何工作的,以及接受所传递的函数地址的 DLL 的代码是如何工作的。调试这样的交互操作是非常困难的,因为该程序和开发环境运行在相同的进程中。在某些情况下,系统的调试也许是不可能的。