VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 在Windows 98 中使用VB5.0 编程疑难一解
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:8334, 日期:2001-11-16
在Windows 98 中使用VB5.0 编程疑难一解
---- 随 着Windows 98 正 式 版 的 推 出, 越 来 越 多 的 人 开 始 关 注 它。 本 人 最 近 也 在 机 器 中 安 装 了 一 套, 的 确 发 现 许 多 新 的 东 西, 操 作 更 加 自 如、 方 便, 但 是, 最 近 在Windows 98 下 使 用VB 5.0 编 程 却 遇 到 了 一 个 大 难 题: 原 来 在Windows 95 中 编 写 的VB 可 执 行 程 序 却 怎 么 也 不 能 运 行, 总 是 提 示:" 该 程 序 执 行 了 非 法 操 作, 即 将 关 闭。 如 果 仍 有 问 题, 请 与 程 序 供 应 商 联 系。" 当 我 查 看 详 细 资 料 则 显 示:"user.exe 中 导 致 常 规 保 护 错 误。 地 址 在 某 某 处 … …"。 于 是, 我 试 了 很 多 办 法, 苦 思 冥 想 了 一 天, 终 于 发 现 了 问 题 所 在。 原 来 问 题 出 现 在 文 本 框 的Change 过 程 代 码 上。

---- 程 序 出 问 题 的 代 码 是 这 样 的, 在Win 95 中, 我 建 立 了 一 个 口 令 输 入 的 窗 体, 窗 体 中 只 有 一 个 文 本 输 入 框Text1, 当 输 入 正 确 的 口 令 后, 程 序 将 自 动 进 入 下 一 个 模 块。 在Text1 的Change 过 程 中 有 以 下 语 句:

If Len(Trim(Text1.Text)) < 4 Then 注释: 口 令 的 长 度 为4 位
Exit Sub
Else
If Text1.text="1111" 注释: 这 里 假 定 正 确 口 令 为:1111
MsgBox " 口 令 正 确 !", 0, " 提 示"
Unload Me
注释: 口 令 正 确, 开 始 执 行 下 一 个 窗 体
Else
MsgBox " 对 不 起 ! 口 令 不 正 确 !", 0, " 提 示"
Text1.Text = ""
注释: 口 令 不 正 确, 继 续 输 入 口 令
End If
End If

---- 该 段 代 码 在Win 95 下 用Vb5.0 编 译 通 过 后, 连 同 其 它 程 序 一 起 生 成 一 个 可 执 行 文 件, 在Win95 中 执 行 该 文 件, 运 行 到 口 令 输 入 窗 体 时, 没 有 发 生 任 何 问 题, 可 是, 当 该 程 序 原 封 不 动 地 拿 到Win98 中 同 样 用Vb5.0 编 译 通 过 后, 在Win98 中 执 行 该 可 执 行 文 件, 当 运 行 到 口 令 输 入 窗 体 时, 不 论 口 令 输 入 正 确 与 否, 系 统 都 会 提 示 上 面 所 说 的 严 重 错 误, 然 后 便 退 出 程 序, 回 到Win98 中。

---- 经 过 反 复 的 调 试, 终 于 发 现 问 题 原 来 出 现 在 代 码Change 上, 在Win98 中 不 知 为 何 无 法 执 行 这 个Change 过 程, 而 在Win95 中 却 没 有 任 何 问 题 !

---- 在 修 改 后 的 程 序 中, 我 将 上 面 的 这 些 代 码 放 在 了Text1 的KeyDown 过 程 中, 并 做 了 以 下 改 动:( 注 意: 当 输 入 完 口 令 后, 还 需 要 按 回 车 键 确 认 一 下, 其 实 任 何 键 都 可 以, 除 了 退 格 键 以 外。)

If KeyCode = vbKeyBack Then
注释: 这 里 必 须 把 退 格 键 的 判 断 取 消
Exit Sub
End If
If Len(Trim(Text1.Text)) < 4 Then 注释: 口 令 的 长 度 为4 位
Exit Sub
Else
If Text1.text="1111" 注释: 这 里 假 定 正 确 口 令 为:1111
MsgBox " 口 令 正 确 !", 0, " 提 示"
Unload Me
注释: 口 令 正 确, 开 始 执 行 下 一 个 窗 体
Else
MsgBox " 对 不 起 ! 口 令 不 正 确 !", 0, " 提 示"
Text1.Text = ""
注释: 口 令 不 正 确, 继 续 输 入 口 令
End If
End If

---- 这 样, 程 序 在Win98 中 用Vb5.0 再 次 编 译 生 成 可 执 行 文 件, 便 可 以 顺 利 运 行 了, 运 行 到 口 令 输 入 窗 体 时 便 不 会 发 生 错 误。 问 题 虽 然 已 经 解 决, 可 是 为 什 么 在Win98 中Change 过 程 为 何 会 出 错 ? 究 竟 是Win98 的 问 题, 还 是Vb 的 限 制, 笔 者 不 得 而 知。

---- 在Windows 98 中 遇 到 的 一 些 小 问 题

---- Windows98 增 加 了 许 多 新 的 东 西, 说 心 里 话, 的 确 很 不 错, 可 是 我 却 发 现 了 许 多 让 人 迷 惑 的 问 题, 在 这 里 列 举 一 二, 希 望 能 引 起 注 意, 或 许 使 用 过Win98 的 细 心 的 朋 友 早 已 经 发 现 了 这 些 问 题。

---- 1 . 在Win98 的 第 二 级 开 始 菜 单 中, 可 以 用 鼠 标 所 以 移 动 菜 单 项 到 任 何 位 置, 可 是 当 你 再 次 打 开 开 始 菜 单 时, 菜 单 却 又 恢 复 了 原 样, 不 知 道 为 什 么。 可 是, 在 原 来 的Win95 中, 当 你 安 装 了IE4.0 以 后, 这 些 移 动 菜 单 位 置 的 操 作 却 非 常 好 用, 没 有 任 何 问 题。

---- 2 . 当 你 打 开 了 多 个 应 用 程 序 时, 在 屏 幕 下 方 的 状 态 条 中 应 显 示 他 们 的 状 态, 可 是 当 你 关 掉 这 些 应 用 程 序 时, 状 态 条 中 却 仍 然 显 示 一 些 空 白 的 按 钮, 总 也 清 除 不 彻 底, 只 有 用 鼠 标 点 一 下, 它 们 才 回 消 失, 这 在Win98 中 和 装 了IE4.0 的Win95 中 经 常 遇 到。

---- 3 . Win98 的 汉 字 输 入 条, 在 某 些 应 用 程 序 中 经 常 无 法 弹 出 或 者 显 示 错 误。