17

リソースがプロジェクトのビルド プロセスの一部としてビルドされるように、既にコンパイルされた .res ファイルの代わりに .rc ファイルを参照することによってプロジェクトにリソース ファイルを含めることを提案した記事または投稿を何年も前に読んだことを覚えています。

コマンドbrcc32 glyphs.rcを使用して現在コンパイルしているglyphs.rcファイルがあります。私のプロジェクト ファイルには、{$R Glyphs.res} というステートメントがあります。

これを次のように変更して単純化したいと思います

{$R Glyphs.rc} 

しかし、構文がわかりません。使用しようとする{$R Glyphs.rc}と、エラーが発生します `

[DCC Error] E2161 Error: RLINK32: Unsupported 16bit resource in file "Glyphs.rc". 

このアプローチは Delphi 2007 で可能ですか?

4

6 に答える 6

24

「プロジェクト > プロジェクトに追加」メニュー項目を使用して、プロジェクトに rc ファイルを追加するだけです。これにより、TOndrej がリンクして{$R 'myres.res' 'myres.rc'}いる投稿から行が作成されます。

于 2009-08-19T06:42:11.347 に答える
7

リンカはresファイルのみを処理できますが、リソース コンパイラを呼び出し、rcスクリプトをコンパイルしてresファイルを生成し、 $R/$RESOURCEディレクティブのバリエーションを使用してリンクするようにコンパイラに指示できます。

あなたのケース(Delphi 2007)では、次の変更のみが必要です。

 {$r glyphs.res}

 {$r glyphs.res glyphs.rc}

これだけでは機能しない場合は、RC をプロジェクトに追加してみてください。Delphi の異なるバージョンでは、ファイル名を一重引用符で囲む必要がある場合があります。

 {$r 'glyphs.res' 'glyphs.rc'}

注: resファイルを特定する必要はありますが、最初に必要なresファイルを生成するために、コンパイルするrcファイルを追加で特定できる点が異なります。

これに対するサポートは、いじくり回されたようで、最近のバージョンでは、RC をプロジェクトに追加しても、プロジェクトを保存して閉じ、再度開くまで、プロジェクトによって常に「検出」されるとは限りません (例:これは XE4 に当てはまることがわかりましたが、他のバージョンにも当てはまる可能性があります)。

また、最近のいくつかのバージョンでは、そのような$R 'file.res' 'file.rc'宣言を DPR に追加するだけで、プロジェクト マネージャーが参照された RC ファイルをプロジェクトの一部として識別しますが、古いバージョンではそうではないようです。繰り返しますが、この領域のいじくり回しの一部のようです。

また、XE4 は通常、安定性の面で堅実ですが、IDE を閉じるときに RC ファイルを追加/削除するとアクセス違反が発生するように見えましたが、IDE とプロジェクトを再度開くと通常の安定性が回復したようです。つまり、単にプロジェクトに RC ファイルがあるという事実だけでなく、RC ファイルの追加/削除が問題を引き起こしているようです。

更新: Delphi (Delphi 10.2 Berlin) の最近のバージョンでは、行の前にカスタム リソースを含める必要があります{$R *.res}。そうしないと、自動的にコンパイルされません。

于 2009-08-19T20:25:35.103 に答える
3

次の例を参照してください: 「PNG リソースを作成するにはどうすればよいですか?」.

于 2009-08-19T06:24:37.823 に答える
2

Delphi 2007 でこれを実行しようとしましたが、うまくいきませんでした。ラインを入れていたのですが、

"{$R glyphs.res glyphs.rc}"

私のプロジェクトファイルでは、IDEがそこに配置する「{$R *.res}」行のすぐ上にありますが、IDEを使用してrcファイルを追加すると、「uses」行の上に配置され、機能しました。

于 2015-01-23T19:57:54.890 に答える
0

アプリケーションのメインアイコンを削除できなかったので、trapgate.rc ファイルを作成して、そのファイルを src ディレクトリに配置しました。

 MAINICON icon ".\Icon\MAINICON.ico"
 5012 icon ".\Icon\5012.ico"

次に、BRCC32 を使用して RC から RES ファイルを作成し、ビルドを行ったところ、正しいアイコンが表示されました。そこにさらにアイコンを配置して切り替えることもできます。そのため、makeres.batに行を追加したのは次のようになります。

brcc32 folders.rc -fofolders.res
brcc32 main.rc -fomain.res
brcc32 xOutline.rc -foxOutline.res
brcc32 xSpin.rc -foxSpin.res
brcc32 credits.rc -focredits.res
brcc32 licence.rc -folicence.res
brcc32 trapgate.rc -fotrapgate.res <-- this is my icon file

したがって、フォルダー内のアイコンを変更したとしても、..\icons もちろん、mainicon.ico や 5012.ico などの正しい名前であることを確認してください。

Delphi 7自体でアイコンを変更できない人の助けになれば幸いです。

于 2013-09-25T03:18:19.673 に答える