2012-03-27 5 views
8

なぜDunitテストプロジェクトでバージョン情報を設定できませんか?このプロジェクトではチェックボックスは無効になっていますが、他のプロジェクトでは無効になっています。スクリーンショットを参照してください。Dunitプロジェクトで、exeバージョン情報が無効になっている場合、どうすれば元に戻すことができますか?

enter image description here

+0

完全に空白のプロジェクトを開始し、その設定を編集できるかどうかを確認してください。もしそうなら、あなたはそれがこのプロジェクトの何かであることを知っています。おそらく競合するバージョンのリソースが存在する可能性があります。 –

+0

ありがとうございましたが、私は "他のプロジェクトではそうではありませんでした"と言っていました。 –

+0

私はこれをDUnitプロジェクトではないプロジェクトにすることにしました。 –

答えて

13

あなたのテストプロジェクトのソースで{$のR * .RES}ディレクティブが欠落することができます。 .dpr内にある必要があります。そうしないと、プロジェクトオプションでこの機能を使用できなくなります。

デフォルトではそこにあるはずですが、プロジェクトにユニットを追加したり削除したりするときに不機嫌になることがあります。これが起こると、次のようになります:

このような状況が発生した場合、開発者は見ているものが分からない場合、違反行を削除した可能性があります。

また、テストプロジェクトがコマンドラインプロジェクトとして開始された場合、このディレクティブが最初に存在していない可能性があります。

+0

うわー!私はこれを削除していない! –

+0

私の場合(XE2)、dprのリソース行は時々消えています。 – JustMe

+0

DPRファイルは一般的に「IDEが所有している」とみなされ、編集することは保証されません。したがって、IDEがあなたが追加したものを削除し続ける可能性があります。 '{$ R MyVersionInfo.res MyVersionInfo.rc}' –

7

DUnitユニットテストプロジェクトは他のデルファイプロジェクトと同様に構築されていないため、デフォルトではリソースファイルがないことがわかります。そのため、宣言を入れるまでバージョン情報タブは無効になっていましたあなた自身。

DUnitプロジェクトは、GUIテストランナー(VCLを使用しますが、通常は変更しないでください)、またはコンソールモードのテストランナーを使用して、2つの構成のいずれかで構築できます。コンソールアプリケーションにリソースファイルがリンクされている可能性があり、バージョン情報がある可能性がありますが、実際には多くのコンソールアプリケーションがそうしていますが、DUnitのテストランナーフレームワークと単体テストプロジェクトは表示されませんあなたが慣れてきた方法で構築されています。

この結果、IDEが混乱し、IDEが関連するセクションを無効にします。あなたはKennethの答えを受け入れたので、あなたは{$ R}をもう一度追加することができるかもしれませんが、この問題に遭遇した将来の人々を助けるかもしれない背景情報を追加したかっただけです。

+1

ちょうど気付いたことに、.RESの後にスペースがあると(したがって{$ R MyVersionInfo.res MyVersionInfo.rc}は、あなた自身の.pasユニットに宣言を追加する必要があります。 * .RES})この問題も存在します。 –

関連する問題