Delphi 系統安裝后,有默認的配置如下:
1、在菜單 Tools\Options 中進行全局配置 :主要是:
1) Environment Options (環境)
Environment Variavbles: 包括
(系統變量System Variavbles / 用戶變量User Overrides),也可以通過 Windows “高級系統設置”。
Path 的設置 ,即 查找路徑 。 用於查找:包Bpl 文件?
2)Delphi Options
(1) Libary :(不同運行平台 Win32/64,Android 等下的配置)
Libary Path :
Package Output Path : $(BDSCOMMONDIR)\Bpl 即 C:\Users\Public\Documents\Embarcadero\Studio\19.0\Bpl
Dcp Output Path : $(BDSCOMMONDIR)\Dcp 即 C:\Users\Public\Documents\Embarcadero\Studio\19.0\DCP
Browsing Path:
Unit scope names: (默認 空) 單元空間名稱?在 RAD Studio庫(VCL-FMX-RTL)中,Unit scope names 是預先置於unit names 之前的前綴 ,通用表示:<unitscope>.<unitname>. ... 例子有:System.SysUtils,FMX.Controls 等,SysUtils unit 現在是System unit scope的一部分 ,Controls unit 是 Vcl or the FMX unit scope 的一部分!
Debug DCU Path :
HPP Output Path : $(BDSCOMMONDIR)\hpp\$(Platform) 即 C:\Users\Public\Documents\Embarcadero\Studio\19.0\hpp\Win32
2、在項目 Project \ Options 菜單下,進行項目配置:
1)Delphi Compiler 的配置
Package Output Path : ..\bpl\$(Platform) 即 項目Project 路徑XX\bpl\win32 即 .Bpl(包)文件路徑
Dcp Output Path : .\$(Platform)\$(Config) 即 項目Project 路徑XX\win32\Debug 即 .Dcp 文件路徑
Unit Output Path : .\$(Platform)\$(Config) 即 .Dcu 文件路徑
Unit scope names: (默認 繼承 Debug 或 Release)
Search Path: (默認 空)
Conditional Defines :DEBUG
說明: Dcu 英文全稱:Delphi Compiled Unit File,是delphi單元文件.pas文件編譯后產生的中間文件,( 相當OBJ 中間文件 ),
連接器能使用 DCU ,將代碼連接入目標輸出文件中。每個Delphi的版本生成的dcu格式都不一樣。
Dcp 英文全稱:delphi compiled package,是 package 編譯時跟 bpl 一起產生出來的,記錄着 package 中公開的 class、procedure、function、variable、const.... 等等的名稱和相對位址。DCP相當於C++中的Lib,編譯時需要。
一種包含關於被編譯進軟件包當中的代碼符號信息的文件,但並不包含編譯代碼,這些代碼實際上存貯在dcu或bpl文件中。
Bpl 英文全稱 Borland Package library ,是一種特殊的DLL文件,用於代碼重用和減少可執行文件。編譯bpl時,僅需要添加相應功能的pas文件,如果有窗體,則需要添加dfm文件。既然是DLL文件,那就是在運行時所需要的文件。BPL相當於C++中的DLL。調用也和調用DLL相似,loadpackage()。
注意: 編譯后 bpl 與 dcp 的文件個數是相同的,且與包項目個數一致。dcu 的數量與 代碼文件(pas)相同。
dpk(相隨 .dproj): 組件包項目文件,它是由多個組件(PAS)集合而成的。它是Delphi IDE集成開發環境需要的,編譯產生 BPL文件。bpl要先生創建dpk工程。當在 delphi 里編譯一個 dpk 文件,生成 bpl 的同時,也會生成 dcp 文件。 dcp 文件相當於 c 語言里的 .h 頭文件,當需要引用編譯后的包(沒有源代碼)的時候,可能就需要引入 dcp文件。
3、菜單 Component 下可以 安裝 Install Component 組件 或 Packages 包 :
Install Component : 安裝 unit (文件) 進入新包或者己存在包。先選擇 unit ,然后 選 package .
Install Packages : 選擇 .bpl 文件,必須 是 設計時包 (Design Packages),類似 “包項目文件” 上右健菜單 Install .
4、如何安裝delphi的.dpk文件? https://zhidao.baidu.com/question/2144469763189341868.html?fr=iks&word=bpl+dcu&ie=gbk
由於組件提供的方式不同,所以安裝的方法也是不一樣的,下面就目前常見的各種形式的組件的安裝方法介紹一下。
1. 只有一個DCU文件的組件。DCU文件是編譯好的單元文件,這樣的組件是作者不想把源碼公布。一般來說,作者必須說明此組件適合Delphi的哪種版本,如果版本不對,在安裝時就會出現錯誤。也正是因為沒有源碼,給使用者帶來了不便,那就是一旦Delphi版本升級,此組件就不能再使用了,當然有的作者給出了幾種版本的DCU文件,用戶根據需要選擇使用。這樣的組件的安裝方法是:在Component菜單中,選擇install component,在對話框中的"into existing package"頁中,單擊“Unit file name”后的“Browse”按鈕,在打開的文件對話框中,將“文件類型”設定為*.dcu,找到要安裝的DCU文件,按OK按鈕返回"into existing package"頁后再按OK按鈕就可以安裝了。注意,此時Delphi會提示dclusr40.dpk將被重建,是否繼續,OK就可以了。這里是將組件安裝到dclusr40.dpk包中,此包從文件名上可以看出是用戶自定義組件包,先安裝到這個包中吧,下面再講有關注意事項。安裝完畢會有已經將組件注冊完的提示信息以及安裝到哪個組件頁中的信息等,到組件面板上看看,一般會出現一個新的組件頁,其中有剛安裝的組件。
2、只有PAS文件或既有PAS又有DCU文件的組件。這種組件因為有PAS文件,也就是說作者提供了源碼,這就好辦多了。安裝的方法和上面是一樣的,在文件類型中可以設定為DCU也可以設定為PAS,建議設定為PAS,這樣可用你的Delphi重新編譯一下,看是否會出現問題。Delphi升級后只能選擇PAS文件安裝,這樣才能重新編譯,使得組件能適應新Delphi版本。這樣的組件是很值得使用的,根據心鈴的經驗,沒有源碼的組件最好不要使用,一是存在Delphi版本升級后無法使用的問題,再者當程序出現問題后用戶無法調試組件來判斷是否是組件中存在BUG。
3、有dpk文件的組件包。帶有dpk文件的組件包一般是有多個組件構成的,也就是說安裝后會有多個組件供使用,如果只有一個組件作者一般不會制成DPK文件,使用上面的方式發布就可以了。對於這樣的組件包,一般來說會有詳細的安裝說明文件,如上面提到的RXLIB,由於組件復雜且安裝時有先后順序,作者不提供安裝說明用戶根本無法正確安裝。如果沒有安裝說明文件,那么用下面的方法安裝:在File菜單下,選擇”OPEN…”打開dpk文件(文件類型列表框中選*.dpk),在出現的Package窗口中,工具欄上有Install按鈕,按此按鈕即可進行安裝。如果Install按鈕處於無效狀態,那么先按Compile按鈕編譯,一般來說編譯之后Install按鈕就會處於有效狀態,此時再按Install按鈕就可以了。
4、帶有Bpl文件的組件包。一般來說這也是由多種組件構成的組件包,它其實是一個動態連接庫文件(DLL)。對於這種組件包的安裝方法是:在component菜單下選擇“install packages”,然后單擊Add按鈕,在打開的文件對話框中找到相應的bpl文件打開返回后,再單擊Ok按鈕就可以了。
5、ActiveX控件的安裝。要安裝這類控件,需要先用regsvr32.exe注冊,然后選擇Component菜單中Import ActiveX Control項。在Import ActiveX Control打開的窗口中,只有已經注冊的ActiveX控件才出現在列表中,選中一個然后按Install按鈕就可以安裝了。
如果事先沒有用regsvr32.exe注冊也可以按ADD按鈕找到OCX文件即時注冊,注冊后再進行安裝。
幾點說明:
1 在拿到組件后先看是否有說明文件,一般來說在說明文件中有如何安裝的指導,有些還會有組件的屬性、事件、方法的使用說明,這些在使用時是非常重要的。
2 在上面的組件(包)安裝操作之前,最好將 *.bpl拷貝到你的System目錄中,將*.pas、*.dcu、*.dcr、*.dp?拷貝到Delphi的Lib目錄中再進行。
3 前面我們提到安裝DCU組件時,選用的是已經存在的dclusr40.dpk,當然也可以選擇安裝到一個新的包中,如果選擇新包,需要先取一個名字比如DEMO,事實上安裝完畢后用戶可以找到的是Demo.bpl,而找不到DEMO.DPK。假如你已經將一個組件安裝到dclusr40.dpk中了,還想再安裝一個組件,如果再安裝到dclusr40.dpk中,安裝后你得到提示,原來安裝的那個組件已經被取消注冊,你將無法使用了。這樣不就成了只能安裝一個組件了嗎?除非你再安裝到一個新的包中才可以兩個組件同時使用。當然每安裝一個組件生成一個新的BPL文件也未償不可,但BPL文件就增加許多。能否在dclusr40.dpk中多安裝幾個組件呢?當然是可以的。方法如下:用File菜單下的OPEN打開dclusr40.dpk文件,單擊ADD按鈕,在打開的對話框中選擇ADD UNIT頁面,按Unit file name后“Browse”按鈕打開組件單元文件,OK即可,用此種方法這樣可添加多個組件的單元文件,添加完畢,按一下編譯按鈕,然后再按Install按鈕即可,如果單元文件是編譯好的(DCU)可以直接按安裝按鈕。
4 組件的刪除。光會安裝可不行,還要會刪除呀。很簡單,在component菜單下,選擇install packages,在列表中找到安裝所在的Bpl,按Remove按鈕,ok!再把Bpl文件刪掉就徹底了,如果不刪除BPL文件,下次可以按安裝BPL組件的方法再安裝使用。