將 Delphi 的元件安裝給 BCB6 使用 |
|
yckuo
高階會員 發表:55 回覆:389 積分:238 註冊:2003-03-07 發送簡訊給我 |
主題: 將 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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |