今更聞けない Delphi のコト (パッケージ編)

 知っているようで知らないパッケージの話です。

基礎知識

 パッケージはDelphi3から導入された概念です。コンポーネントをパッケージという器に押し込んで、パッケージ毎に付け外しが可能となります。パッケージのソースは "*.dpk" で、ここへVCLを登録する事になります。登録されたパッケージはレジストリに保存されます。

パッケージの作り方 (旧IDE)

 [コンポーネント | コンポーネントのインストール] でコンポーネントを登録すると、デフォルトで "dcluser.dpk" というパッケージソースが "$(Delphi)\Lib" に生成されます。これは "Borland(Delphi) User Components" という名前のパッケージとなります。

 新規にパッケージを作るには、[コンポーネント | コンポーネントのインストール] の"新規パッケージに追加" タブで作成するか、[ファイル | 新規作成 | その他] で作成します。[ファイル | 新規作成 | その他] でパッケージを作成すると、その時に開いていたプロジェクトグループに組み込まれてしまいますので、[ファイル | 新規作成 | アプリケーション] を事前に行ってすべてのファイルをプロジェクトから除去してから行うか、Delphiを "$(Delphi)\bin\delphi32.exe /np" のように(プロジェクトを読み込まない)スイッチを指定して起動してからパッケージを生成して下さい。

パッケージの作り方 (ガリレオIDE)

 [コンポーネント | コンポーネントのインストール] はガリレオIDEには存在しません。"dcluser.dpk" というパッケージソースは "$(BDS)\Lib" にちゃんと存在しますので、VCLはこのパッケージを開いてからインストールする事になります。

 新規にパッケージを作るには、[ファイル | 新規作成 | パッケージ] で作成します。パッケージを作成すると、その時に開いていたプロジェクトグループに組み込まれてしまいますので、[ファイル | 新規作成 | アプリケーション] を事前に行ってすべてのファイルをプロジェクトから除去してから行うか、Delphiを "$(BDS)\bin\BDS.exe /np" のように(プロジェクトを読み込まない)スイッチを指定して起動してからパッケージを生成して下さい。

コンポーネントのインストール

 当トピックはパッケージについてなので、ここではコンポーネントのインストールについての詳細な説明はしません。

パッケージ

 パッケージソース(*.dpk) をコンパイルすると、旧IDEの場合には "$(Delphi)\Projects\Bpl" に、ガリレオIDEでは "$(BDSCOMMONDIR)\Bpl" 以下にパッケージ(*.bpl)が生成されます。パッケージの保存先は [ツール | 環境オプション...]の"ライブラリ"タブ(旧IDE) または、[ツール | オプション...] の [環境オプション | Delphiオプション | ライブラリ - Win32](ガリレオIDE) で変更する事ができます。

 パッケージ配布の際に *.bpl を配布するのもテですが、メンテナンス性を考慮するなら、パッケージソース(*.dpk)とVCL一式を配布すべきでしょう。

パッケージの追加と削除

 パッケージの追加と削除は [コンポーネント | パッケージのインストール] で行います。

パッケージの有効/無効の指定

 パッケージの有効/無効の指定も [コンポーネント | パッケージのインストール] で行います。が、保存先が旧IDEとガリレオIDEで異なっています。

 旧IDEの場合、無効にされたパッケージの情報は、プロジェクトフォルダにある *.dof に保存されます。*.dof はIniファイル形式で、無効されたパッケージが [Excluded Packages] セクションに保存されます。

 ガリレオIDEの場合、無効にされたパッケージの情報は、レジストリの "HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Disabled Packages" に保存されます(D2009の場合。D2007だと"HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Disabled Packages"になります)。

パッケージを付け外しするのが面倒だ!

 ガリレオIDEのみでいいのなら、"Delphi Launcher" を使ってみるといいかもしれません。


 BACK