Delphi 2006からDelphi 2009への移行に問題があります.JVCLを使用するプロジェクトでは、jvconsts.resが存在しないとの文句を言います。ファイルは確かにそこにあります。プロジェクトの検索パスには、ファイルが置かれているディレクトリが含まれます。 「Delphi 2009のバグ? - > * .resがプロジェクト検索パスに見つかりません(Delphi 2006で動作します)
...リンカ検索用:
をしかしDelphi Helpが言うように、ファイルが見つかりする必要があります(それはよりポータブルにするために、私は私のグローバル検索パスにJVCLを持っていないことに注意してください) .RES ディレクトリプロジェクトのディレクトリ/条件ページ の検索パス入力ボックス で指定 内のファイル[...] | [オプション]ダイアログボックス」
これはJVCLの問題ではありません。最小限のプログラムがこれを示しています:
このディレクトリ構造を想像してみて:ここで
C:\Test\ResTest.dpr
C:\Test\Res\Test.res
はResTest.dprです:
program ResTest;
{$R test.res} // not found even if "c:\Test\Res" is in project search path
begin
end.
これは私が見つけたいくつかの検索、道の後デルファイ2009 にデルファイ2006年の罰金コンパイルではなく、 Delphiにファイルがどこにあるかを伝える:コマンドラインコンパイラを使ったゴブ検索パスまたは-Rパラメータ。
私がこれを書いている時点で、私は近い本当の問題に来る:
-I"c:\Test\Res"
-U"c:\Test\Res"
-R"c:\Test\Res"
Basiclyのそれのコピー3コマンドへのプロジェクトの検索パスから値:デルファイ2006年の.cfg-ファイルの行を含んでいます-Rパラメータが正しい値を持つようにします。デルファイ2009年
(私は「デバッグ」にコンパイラの出力の冗長性を設定する)私はIDEからの結果のコマンドラインを取得:
ディレクトリ(C:\テスト\ RES)の場合に含まれていますプロジェクトの検索パス:ここに見ることが
dcc32.exe --no-config -M -Q -ID:\Sources\Temp\1\Res;"c:\program files\codegear\rad studio\6.0\Lib" -LE"C:\Users\Public\Documents\RAD Studio\6.0\Bpl" -LN"C:\Users\Public\Documents\RAD Studio\6.0\Dcp" -O"c:\program files\codegear\rad studio\6.0\Lib" -R"c:\program files\codegear\rad studio\6.0\Lib" -UD:\Sources\Temp\1\Res;"c:\program files\codegear\rad studio\6.0\Lib" -K00400000 ResTest.dpr
ディレクトリがグローバル検索パスに含まれている場合
dcc32.exe --no-config -M -Q -ID:\Sources\Temp\1\Res;"c:\program files\codegear\rad studio\6.0\Lib";D:\Sources\Temp\1\Res -LE"C:\Users\Public\Documents\RAD Studio\6.0\Bpl" -LN"C:\Users\Public\Documents\RAD Studio\6.0\Dcp" -O"c:\program files\codegear\rad studio\6.0\Lib";D:\Sources\Temp\1\Res -R"c:\program files\codegear\rad studio\6.0\Lib";D:\Sources\Temp\1\Res -UD:\Sources\Temp\1\Res;"c:\program files\codegear\rad studio\6.0\Lib";D:\Sources\Temp\1\Res -K00400000 ResTest.dpr
多分そのハード:違いは、-Rパラメータである:
Local Search Path -> -R"c:\program files\codegear\rad studio\6.0\Lib"
Global Search Path -> -R"c:\program files\codegear\rad studio\6.0\Lib";D:\Sources\Temp\1\Res
なぜそれがうまくいかないのは不思議ではありません。 Delphi 2009では、ローカル検索パスが-Rパラメータに追加されません。
これは明らかにバグですが、他に誰もこの問題がないようです。私は使用しているすべてのマシンでそれを再現することができます。たぶんエラーはDelphi 2009のドイツ語版にのみ存在しますか?
これは私たちのコードで動作しますが、私が実際に避けたいthirdpartyコード(JVCL)を変更する必要があります。 –
このバグのためにQualityCentralにエントリを作成しました。#73249 –
サードパーティのコードを変更したくないという事実に同意します。 レポートのThx。 私はちょうどhttp://qc.codegear.com/wc/qcmain.aspx?d=73249をチェックし、いくつかのレポートフィールドを修正して、CodeGearのQ&Aチームが内部システムでそれを見るように昇格しました –