2

リソース ファイル (.rc) 内のイメージへのパスの設定で問題が発生しました。

何らかの理由で、定義された文字列とテキストを連結できませんでした。

例えば

File1:  
#define Path "Brand_1"

File2:  
#include File1

Logo BITMAP Path "\Logo.bmp"

Borland リソース コンパイラ (5.4) が次のエラー メッセージをスローする: 39: ファイルを開けません: Brand_1

編集:私の質問は次のとおりです:リソース文字列変数と文字列(ファイル名)を使用して、画像をロードするためのパスを組み合わせることができます。

また、私が取り組んでいるプロジェクトは、2 つの場所に存在するファイル (Logo.bmp) に関連しています。要件に応じて別のリソース ファイルを生成するスイッチ (.bat ファイル) が必要です。

ありがとう。

4

2 に答える 2

2

BRCC32 はセミコロンで区切られた検索パスとして -i を受け入れるため、このようなバット ファイルを作成できます。

compile_res.bat

brcc32 -ic:\mypath1;c:\mypath2 resource_script

そして、resource_script を通常どおりに定義します。たとえば、次のようになります。

resource_script.rc

myImg BITMAP Logo.bmp
myDOC RCDATA mydoc.doc

compile_res.bat を実行すると、検索パスを指定して brcc32.exe が実行されます。bat ファイルがあると、毎回検索パスを再入力する手間が省けます。

于 2012-06-23T04:07:55.840 に答える
1

あなたは何も連結していません。にコンパイルしていますが、ビットマップ ファイルへの有効なパスではありませんLogo BITMAP "Brand_1" "\Logo.bmp""Brand_1"

#defineリソースコンパイラでは、テキストプロセッサでの検索/置換のように機能します-正確ではありませんが、この場合は十分に近いです。

パスまたはファイル名にスペース文字が含まれていない限り、引用符とそれらの間のスペースを削除することで (テストされていない)うまくいく可能性があります。そうでなければ、おそらく運が悪いでしょう。(とにかく、何を達成しようとしているのかわかりません。)

于 2012-06-22T18:20:36.313 に答える