.bpk(C++Builder 封裝專案)。.dpk(Delphi 封裝),可用 DPK2BPK 工具轉換;轉換失敗則手動建立新封裝專案(.bpk 或 .bdsproj),將 .dpk 內列出的 .pas 檔全部加入。安裝前務必在 $(BDS)\Bin 與 C:\Windows\System32 搜尋同名 .bpl,若發現舊版本請全數刪除,避免 IDE 載入錯誤版本。
.pas、.hpp、.dcu、.obj、.lib、.bpl、.bpi、.dfm、.res 等中間產出檔名稱不得重複。建議使用 Beyond Compare(官網)快速比對清理。
BCB2006 將 Bcc32、Dcc32、ilink32、tasm32 等工具路徑分開設定,務必逐一確認路徑正確且順序合理(優先搜尋專案目錄、再到共用庫),順序錯誤會導致引用到舊版單元。
| 錯誤現象 | 可能原因 | 對策 |
|---|---|---|
找不到 .obj/.dcu | 檔案確實不存在,或搜尋路徑未設定 | 確認檔案存在,檢查專案選項中的路徑設定 |
| 檔案未加入專案 | 缺少單元導致連結缺少符號 | 將所有必要單元加入專案,注意多個封裝的編譯先後順序 |
編譯開關 (.inc) 不符 | 元件原始碼含版本判斷巨集,BCB2006 需對應 VER180/BCB | 修改 .inc 定義正確的 VER140(BCB6 相容)或 VER170(Delphi 2006 相容) |
DesignEditors 單元缺少原始碼 | BCB2006 未提供完整 DesignEditors 原始碼 | 專案選項 → Pascal Compiler → Other Options → 勾選 use package .dcps when compiling,填入 designide(不含副檔名) |
| 程式碼本身編譯錯誤 | 元件未針對 BCB2006 更新(如變數名衝突、型別擴充) | 逐一修正:如 rxlib 變數與 TControl 新屬性重名、ehlib 需補齊 TFieldType 新增列舉值 |
「路徑、重名、開關」三大鐵律隨時掛在心頭,遇到詭異錯誤先自查這三點,能省下無數除錯時光。元件安裝看似瑣碎,實則是建構穩定開發環境的基石,值得投入時間徹底搞定。