全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3791
推到 Plurk!
推到 Facebook!

將 Delphi 的元件安裝給 BCB6 使用

 
yckuo
高階會員


發表:55
回覆:389
積分:238
註冊:2003-03-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-07 16:34:58 IP:61.221.xxx.xxx 未訂閱
主題: 將 Delphi 的元件安裝給 BCB6 使用 作者: yckuo < about_bcb@yckuo.org > 文章附註: 本篇文章為自由文件,歡迎非商業性質轉載,並請註明出處! 商業性質轉載請來信告知! 適用環境: BCB 6 廢言: 在工作上的需要必需包個小 AP,突然跨入了 Windows 的領域,一開始 評估開發使用的程式語言,目前不外乎 vc ,bcb,Delphi,java...等.由於 目前為止只懂了點 ANSI C,所以先排除了 Delphi,因此剩 VC , BCB, Java,但看上了 Delphi 發展已久,擁有眾多的免費元件,能夠快速的進行開 發,因此 bcb 就成了我目前的首選. 當然第一步就是先尋找我所需要的元件,浩翰的網海竟找不到我所需 要的元件( 純 BCB 寫的),Delphi 竟多到淹腳目.好吧,那就把它下載來裝 看看吧..;果然一連串的、失敗、失敗、再失敗.嗯,果然不能硬上,先看書 找找答案吧,結果書上都是些教人如何使用既有的元件,頂多作個範例教你 寫簡單的元件不然就是些如何取用 Excel,Word 等的,只好再上網尋求前人 的腳步. 目前看過網上教學文件有這幾種作法. 1. 使用 Component => Install Component blah blah blah 2. 使用 File => New => Package blah blah blah 3. 安裝新的 Update Pack 4. 非視覺化元件先在 Delphi 作成 DLL 供 BCB 使用. 視覺化元件請改寫成 C blah blah 第一,二點我都無法成功,唉也許是資質太差了,無法領悟前人的腳 步,第三點,我已安裝 Update Pack 4 了,第四點則跟我本意相違反了, 那乾脆學 Delphi 就好了,只好在第一二項中不斷的測試. 第一,二點中,每次都能成功編譯完成,但編譯完後會彈出對話框,告知 必需再整合其它 Package 才行,好吧笨笨的按著 Ok, Ok,Ya 終於成功 了,該按下 Install Package 了吧,按下後,結果變成 xxx package 跟 我的 package 衝突,所以不給裝 #@X!$ 嗯,開始除錯吧,開了一個純 BC6 元件的原始碼來看,首先開 xxx.bpk 來看,該檔是 XML 格式的,還不難看懂,一比對下,原來 Delphi 的元件在 BCB6 編譯完成後, BCB 6 有再更動過 xxx.bpk 讓 你要安裝的元件再連結其它的 lib 進來,導致會要求你配合將某些檔 重編過,也導致了 Install Package 會發生衝突性的失敗. 您瞭解原因了嗎?? :P 實作: 以下將介紹兩種安裝方式讓您自行選用. (一). 1. 首先 File => Close All 將不相關的檔都關閉!! 2. File => New => Other => New Item 內點選Package 來開啟一個新的 Package 配置. 3. 開啟後將會出現一個Package 對話框,請選擇 Add,這邊 會再出現一個 Add 對話框,請在 Add Unit 內選擇 Browse 將您下載回來的 Delphi 元件原始碼 *.pas 都 點選進來,然後按 Ok,關閉此對話盒. 4. 這邊您將可以在 Package 對話框內看到內包含有 package1.cpp package1.res abc.pas abc.dcr 需求的基本 bpi 為 rtl.bpi 和 vcl.bpi ;請確定有將 所有相關的 .pas 都選取進來了!! 5. 接著別急著按 Compile 或 Project => Build,請先按 Ctrl S 將 Package1 先給改名好容易遍識這時會跳出 一個存檔對話框,請您將package1.bpk改名,例我裝的是 abc.pas 那我再加上任意字改為yc_abc.bpk 然後按存檔 以關閉此對話框, 這時後你可以看到它連 package1.cpp package1.res 也自動改成 yc_abc.cpp yc_abc.res 了;這邊請注意勿使用和 *.pas 同名,否則 將會有不可預料的錯誤! 6. 到這裡您可以按下 Compile 或 Project => Build yc_abc 了. 7. 編譯一完成,當您按下 Ok 後,它將會視情況再出現一對 話框,告訴您,您必需再重新編譯以相容它列出的 那些已安裝元件. !!記住,請按 Cancel 取消!! , 否則 您將會像筆者般,笨笨的被騙了!! 8. 按下取消後,它將會再出現一確認對話框,此時請按 Yes 確認您要取消!! 9. 至此已完成大部份的步驟了,請您先按 Shift Ctrl S 來儲存所有檔案,然後再 File->Close All沒錯 Close All !! 10. 接著請使用您熟悉的文字編輯器,開啟您剛剛的專案 檔 yc_abc.bpk 11. 請尋找 LIBRARIES 以及 SPARELIBS 這兩個標記,看到 了嗎??問題就出在這,不該連結的一堆檔都列在這 了,請您大刀闊斧的砍掉,讓 LIBRARIES 只剩下 vcldb.lib ; 讓 SPARELIBS 只剩下 rtl.lib 及 vcldb.lib 然後存檔!! 12. 再度回到 BCB6 視窗中 ,File->Open Project 開啟 yc_abc.bpk 專案檔,此時,您就可以在 Package 對話 框中輕鬆的按下 Install , BCB 6 將會依照我們剛剛 修改的 yc_abc.bpk 作出正確的連結,且也幫您安裝 好此元件,它會再跳出對話框告訴您它裝好了,記住,請 再次存檔,就可以把此專案關閉了!! 13. 開啟 Component => Configure Palette ,請選擇 Pages 內的 All ,然後在右編 Component 框中找到您 剛安裝的元件,把它拉到您自己開的群組頁中,或適當的 群組,至此完成安裝元件. (二). 1. 首先 File => Close All 將不相關的檔都關閉!! 2. 點選 Component => Install Component => Into New Package,對話框中 Unit File Name 請將該元件的 *.pas 都選進來,然後輸入 Package File Name 及 Package Description,請注意勿將 Package File Name 名稱取成和 *.pas 相同,否則您將會安裝完成後變成沒 有元件圖示無法使用,主因為檔名相同,它將產生相同 檔名的 .cpp ,如此將不會載入 *.pas ; 接著按下 Ok, BCB6 將彈出一確認對話框,告知您請按 Yes 進行編 譯和安裝,這邊請按 Yes. 3. 編譯完成後它將會視情況出現一對話框,告訴您,您必需 再重新編譯以相容它列出的那些已安裝元件. !!記住,請按 Cancel 取消!! , 否則您將會像筆者般, 笨笨的被騙了!! 4. 接著請您接續 (一) 第 8 點後接續所有部驟即可完成 安裝!! 至此我想 Delphi 的元件都能輕鬆的安裝到 BCB 6 了,讓您有更多的 時間專注於其它程式的開發!! PS: 方法(一)的第6,7,8點可以略過不作,直接,接到第9點. 方法(二)的第3,4點可以略過不作,直接,接到方法(一)的第9點. 可以略過的原因,只是讓您知道BCB6有作了那些動作導致錯誤!! 感謝您看完了長篇廢言,由於筆者剛開始學 BCB 如有謬誤歡迎 指教 :) yckuo 2003/03/07 發表人 - yckuo 於 2003/03/07 22:37:06
------
yckuo
系統時間:2024-05-03 22:56:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!