頁次 | 問題與解答 | |
242 | Q: | 為 什 麼 我 一 執 行 第 九 章 的 Ambient.vbg 這 個 程 式 , Windows 95 就 告 訴 我 "這 個 程 式 執 行 無 效 , 請 洽 程 式 管 理 員 " , 然 後 除 了 Ambient.vbg 無 法 執 行 外 , 整 個 VB 程 式 也 被 關 閉 , 不 曉 得 這 是 什 麼 原 因 呢 ? |
A: | 原 因 實 在 有 點 莫 名 其 妙 , 當 初 磁 片 中 的 每 個 程 式 我 用「專業版」
都 測 試 過 沒 有 問 題 , 偏 偏 這 個 程 式 現 在 用「企業版」 執 行 就
會 出 現 以 上 現 象 , 解 決 方 法 可 利 用 文 字 編 輯 程 式 (例 如「記事本」)
將 AmbFrm.frm 最 後 的 三 行 (如 下) 去 掉 :
Private Sub Form_Load() End Sub 至 於 為 什 麼 去 掉 這 三 行 就 可 以 , 著 實 令 人 納 悶 , 因 為 平 常 我 們 在 .frm 檔 案 中 放 置「空的」事 件 程 序 (如 以 上 的 Form_Load ) 並 不 會 影 響 VB 及 程 式 的 運 作 。 也 許 您 會 問 我 為 什 麼 要 放 「空的」事 件 程 序 , 那 不 是 我 放 的 , 而 是 VB 。 |
頁次 | 問題與解答 | |||||||
![]() |
Q: | 為 什 麼 我 將 製 作 好 的 ActiveX control 上 載 到 Web Server, 然 後 利 用 IE 開 啟 含 有 此 一 ActiveX control 的 網 頁 , 結 果 出 現 了 「 正 在 安 裝 元 件 ...」 , 但 最 後 卻 沒 有 成 功 ? | ||||||
A: | ActiveX control 無 法 成 功 下 載 的 情 況 可 能 有 以 下 幾 種 :
|
|||||||
![]() |
Q: | 為什麼我的書沒有附範例磁片? | ||||||
A: | 這是旗標工作人員一時疏忽所致 , 如果您也是其中之一 , 別忘了向旗標公司抱怨一番並要求補寄磁片
, 您絕對有權力這麼做 , 旗標公司的 Email 是 service@flag.com.tw
, Fax 是 (02)397-5215 , 讀者服務熱線是 (02) 321-1271。(09/02)
|
|||||||
![]() |
Q: | 我將某個 ActiveX control 的 .ocx 檔案刪除了 , 但它卻還會出現在 [專案/設定使用元件] 的交談窗中,請問如何將它刪除? | ||||||
A: | 每一個被使用的 ActiveX control , 在系統中都會有註冊的資訊 , 刪除
.ocx 檔案並不能刪除系統中的註冊 , 如何刪除系統中的註冊呢 ? 可恨的是 VB
並沒有提供適當的工具 , 為了解決此一問題 , 筆者特別撰寫一個程式 AxClear
(呼叫 Windows API 寫的) 可用來刪除系統中的註冊 , 使用方法如下: (以刪除
kjcircle 為例)
直接輸入 ActiveX control 的名稱 , 再按下「給我殺下去!」即可。 |
|||||||
44 | Q: | 關於 OLE Drag & Drop ,為什麼我照書中設定那些 Image 的屬性後 , 沒辦法做到 OLE Drag & Drop , 是不是 還有什麼要做的呢 ? | ||||||
A: | Image 所提供的自動化 OLE Drag & Drop 功能 , 僅支援
bmp 、 gif 、 jgp 、 wmf 等圖片格式 , 如果我們設定
ico 或 cur 格式的圖片給 Image , 則 Image * 還是可以接受 bmp 、
gif 、 jgp 、 wmf 等格式被拉曳過來的圖片 , 但無法從 Image 拉曳圖片到其他應用程式。
|
|||||||
126 | Q: | p.126 頁中的兩個 Property Let 函數 , 一個有加上 refresh , 一個則沒有加上 refresh , 其間的差異為何 ? | ||||||
A: | 第一個 Property Let 加上 refresh 是多餘的 。 如果我們更新某一個屬性
, 而這個屬性會影響 control 顯示的結果 , 應該立刻呼叫 refresh , 但 p.126
的例子所使用的是既有的 control , 由於既有的 control 自己會更新顯示 ,
因此此例中所呼叫 refresh 是多餘的。
|
|||||||
115 145 |
Q: | 115 頁呼叫 WriteProperty 的敘述是:
PropBag.WriteProperty "Title", TitleData, "MyTitle" 而 145 頁呼叫 WriteProperty 的敘述卻是: Call PropBag.WriteProperty("Title", m_Title, m_def_Title) 兩者是相同的嗎? |
||||||
A: | 兩者是相同的 。 呼叫 [副程式] 或 [副程式型式的方法] , 以下兩種敘述的意義是相同的
:
副程式名 參數1, 參數2, ... call 副程式名 ( 參數1, 參數2, ...)
|
|||||||
225 | Q: | 書中 P225~226 中說明 ComboBox 不會發生 Change 事件 , 故改以 Click 事件來判斷, 據個人測試 Change 事件仍在 ComboBox 之 Text 屬性值改變時被觸動 . | ||||||
A: | 當 ComboBox 的 Text 屬性值改變時 , 確實會發生 Change 事件 , 但如果使用者不是以輸入的方式改變
ComboBox 的選項 , 而是使用滑鼠選擇既有的選項 , 則不會發生 Change 事件
, 所以在 Click 事件中 判別使用者的是否選擇了新的選項還是必要的 。
不過經由您的提醒 , 筆者倒發現原程式有個小問題 , 那就是使用者可能使用鍵盤來輸入資料 , 而他所輸入的資料若是 ComboxBox 選單之外的數值 , 程式該如何處置呢 ? 為了避免使用者以鍵盤輸入 ComboBox 選單之外的資料 , 筆者覺得應該將 ComboBox 的 Style 屬性由預設定的 [0 - 組合下拉式] 改成 [2 - 單純下拉式] 。 (註:單純下拉式的 ComboBox 只能輸入或選取 ComboBox 選單之內的選項 ) |
|||||||
335 | Q: | 為什麼我無法載入第 11 章的 marquee1.vbp ? | ||||||
A: | marquee1.vbp 會使用 IE 所提供的 Marquee 物件 , 因此載入本專案以前
, 必須先安裝好 IE。
|
|||||||
335 | Q: | 為什麼我一執行第 11 章的 marquee1.vbp , VB 就會當掉 ? | ||||||
A: | 若 IE 為 3.0 版就會出現此一現象 , 請將您的 IE 升級為 3.01 或 3.02
版。 (您可在 VB5 光碟片的 \Tools\Msie 目錄底下找到 IE 3.02 中文版) |
|||||||
515 | Q: | 開啟 MaxMinEx.vbp 專案時 , 出現以下訊息:
無法設定版本相容元件為 : C:\kj\BOOK\VB5\ch16\MaxMinEx.exe 開啟 MaxMinDl.vbp 專案時 , 出現以下訊息: 無法設定版本相容元件為 : C:\kj\BOOK\VB5\ch16\MaxMinDl.exe 而執行「檔案/製成XXX」,則無法成功 。 |
||||||
A: | 開啟 MaxMinDl.vbp 及 MaxMinEx.vbp 所出現的訊息 , 是筆者一時的疏忽
, 十分抱歉 ! 您可以在開啟後重新存檔 , 以後就不會出現相同的訊息了。
「檔案/製成XXX」無法成功 , 是因為同目錄中含有 「唯讀」的 MaxMinDl.dll 及 MaxMinEx.exe 檔案 , 請將這兩個檔案刪除 , 即可解決此一問題 。 |
問題與解答 | |
Q: | 請問只有 VB5.0 中文普及版能學 ActiveX 嗎 ? 買了您的大作之後才知道普及版沒有 ActiveX 開發工具 , 那 這本「VB5 與ActiveX」不是白買了嗎 ? 哪裡可以下載或補救 呢 ? 謝謝 。 不會要我再去買專業版吧! |
A: | 可以的 , 但請參考以下說明 。
普及版光碟的 Tools/Cce 目錄底下含有 VB5CCE 版 , 安裝後可 用來開發 ActiveX control , 對「VB5 與 ActiveX」一書而言 , 除了第 13 章及第 16 章之外 , 絕大部份章節的範例也都適用 於 VB5CCE 版。 但 VB5CCE 只有英文版 , 而「VB5 與 ActiveX」一書則是以 中文版為解說的對象 , 所以您在對照畫面時可能會比較辛苦 一點 。
|