📄 对于申明为any型的变量,如果赋予0&的实参值是什么意思.txt
字号:
如 果 你 使 用 过 VC++或 Delphi, As Any的 含 义 就 是 强 制 类 型 转 换 , 也 就 是 说 VB不 再 检 查 类 型 是 否 匹 配 , 而 由 你 来 保 证 参 数 类 型 十 正 确 的 。 例 如 SendMessage函 数 :
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
它 的 最 后 一 个 参 数 就 是 这 样 的 , 这 个 参 数 可 能 是 数 字 , 也 可 能 是 字 符 串 , 或 者 其 他 类 型 , 这 样 定 义 使 用 起 来 比 较 灵 活 。 API中 某 些 函 数 规 定 As Any所 定 义 的 参 数 为 NULL时 会 有 特 殊 含 义 , 不 为 NULL时 是 另 一 种 结 果 。 如 果 不 使 用 As Any, 而 使 用 As Long, 然 后 赋 0&, 是 否 可 以 达 到 同 样 的 目 的 吗 ? 答 案 是 不 一 样 的 , 如 果 定 义 为 As Any, 则 VB会 把 数 字 0传 递 给 这 个 函 数 , 而 定 义 为 As Long, 则 VB会 把 0保 存 在 一 个 地 点 , 然 后 把 这 个 地 点 的 地 址 传 递 给 函 数 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -