リソースファイル(Delphi)
Delphi コンパイラ指令のリスト:インデックス への移動
種類 |
パラメータ |
構文 |
{$R filename} {$RESOURCE filename} {$R *.xxx} {$R filename.res filename.rc} |
スコープ |
ローカル |
説明
$R 指令は,アプリケーションやライブラリに含まれるリソースファイルの名前を指定します。指定するファイルはリソースファイルでなければならず,ファイル名のデフォルト拡張子は .res です。スペースを含むファイル名を指定する場合は,{$R 'My file'} のようにファイル名を一重引用符で囲みます。
記号 * は $R 指令では特別な意味を持ちます。これは,指令が現れるソースコードファイルの基本名(拡張子を除いた部分)を表します。通常は,アプリケーションのリソース(.res)ファイルの名前はそのプロジェクト(.dpr)ファイルと同じです。この場合,プロジェクトファイルに {$R *.res} を指定すると,対応するリソースファイルがアプリケーションにリンクされます。同様に,フォーム(.dfm または .nfm)ファイルの名前は通常そのユニット(.pas)ファイルと同じです。.pas ファイルに {$R *.nfm} を指定すると,対応するフォームファイルがアプリケーションにリンクされます。
{$R filename.res filename.rc}(2 つの filename は同一)を指定すると,Kylix のプロジェクトマネージャに .rc ファイルが表示されます。ユーザーがプロジェクトマネージャから .rc ファイルを開くと,ストリングテーブルエディタが起動されます。
ユニットで {$R filename} 指令が使用されると,指定したファイル名が結果のユニットファイルに単に記録されます。この時点では,ファイル名が有効で既存のファイルを指定しているかどうかはチェックされません。
アプリケーションまたはライブラリを(コンパイル後に)リンクするときに,プログラムまたはライブラリ自体だけでなく使用するすべてのユニットで指定されているリソースファイルが処理されます。そして,各リソースファイル内のリソースは作成中の実行形式ファイルにコピーされます。リソースの処理段階では,Kylix のリンカは $R 指令を含むモジュールと同じディレクトリ内で .res ファイルを検索します。また,[プロジェクトオプション]ダイアログボックスの[ディレクトリ/条件]ページの[検索パス]入力ボックスに指定されているディレクトリ(または dccil コマンドラインの -R オプションで指定されるディレクトリ)も検索します。