📄 form和表太多好不好.txt
字号:
很 难 确 认 内 存 溢 出 是 否 是 由 于 FORM太 多 而 造 成 的 。 有 这 种 可 能 。 可 以 肯 定 的 一 点 是 你 的 代 码 质 量 比 较 查 。 按 理 说 , 60个 FORM并 没 有 达 到 VB的 极 限 (大 约 数 千 个 ), 但 是 每 增 加 一 个 Form就 会 多 占 一 部 分 内 存 , 所 以 如 果 内 存 中 的 Form太 多 的 确 有 害 。 象 VB的 VisData是 一 个 功 能 比 较 全 面 的 程 序 , 只 有 34个 Form。 要 减 少 Form对 内 存 的 占 用 可 以 考 虑 几 个 方 面 :
1、 减 少 图 片 的 使 用 。 每 个 图 片 都 专 用 大 量 内 存 。 如 果 使 用 尽 量 使 用 16色 、 256色 的 , 而 少 用 24位 的 。
2、 如 果 项 目 中 Form很 多 , 但 同 时 显 示 的 并 不 多 , 那 么 Form数 多 一 些 问 题 也 不 太 大 。 但 同 时 在 内 存 中 的 Form太 多 , 情 况 就 不 同 了 。 所 以 对 于 没 有 必 要 出 现 在 屏 幕 上 的 Form及 时 使 用 Unload方 法 卸 掉 。 而 且 可 以 采 用 下 面 的 语 句 彻 底 释 放 内 存 。
Set Form1 = Nothing
我 不 知 道 你 一 个 查 询 的 6、 7个 Form是 否 同 时 出 现 , 如 果 是 , 那 么 显 然 太 多 了 。
3、 注 意 每 个 Form中 数 组 的 使 用 。 影 响 Form占 用 内 存 的 另 一 个 方 面 是 它 使 用 的 变 量 , 特 别 是 数 组 。 如 果 你 使 用 了 数 组 , 尽 量 使 用 动 态 的 (就 是 使 用 ReDim来 决 定 数 组 大 小 的 )。
一 个 小 小 的 管 理 程 序 有 600个 表 , 简 直 不 可 思 议 。 如 果 600个 表 组 成 的 数 据 库 总 大 小 只 有 几 兆 , 那 么 说 明 你 在 设 计 数 据 库 上 存 在 问 题 。 如 果 600个 表 组 成 的 数 据 库 总 大 小 超 过 100兆 , 可 能 你 需 要 使 用 SQL Server这 样 的 数 据 库 来 完 成 任 务 。 你 可 以 根 据 设 计 情 况 合 并 一 些 表 。 这 样 有 助 于 减 少 内 存 和 提 高 速 度 。
VB做 的 EXE都 很 小 , 一 般 不 会 超 过 1M。 如 果 你 的 EXE有 15MB, 那 么 显 然 你 使 用 的 图 片 太 多 了 。 如 果 最 后 生 成 的 安 装 程 序 有 15MB, 那 么 倒 是 有 可 能 的 , 因 为 VB要 包 括 许 多 DLL。 你 可 以 在 制 作 安 装 程 序 时 注 意 能 否 少 选 择 一 些 数 据 库 类 型 , 以 减 少 安 装 程 序 体 积 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -