?? 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 + -