2

すべてが完全に正常に機能している MFC プロジェクトがあり、ソース管理 (perforce) でコードをチェックインしました。突然、.rc ファイルが開かなくなりました。開こうとすると、Guideline must specify type@ line# 410 というエラーが表示されます。これは次のとおりです。

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_ABOUTBOX, DIALOG
    BEGIN
        , 50
    END

確かに、他のプロジェクトと比較するとエントリが欠落しているように見えますが、手動で rc ファイルを変更していないため、VS2010 が排他的に処理しています。これらのエントリがいつ変更されたかはわかりません。perforceから新しいフォルダーまですべてを取得しましたが、rcファイルはまだ開きません! より良い解決策はありますか、それとも修正されることを期待してエントリを手動で変更する必要がありますか?

4

4 に答える 4

3

ある時点で、rcファイルがVS2010によって何らかの形で破損していることが判明しました。元のバージョンをソース管理に入れ、手動で再マージして修正しました。修正されたコードは次のようになります。

GUIDELINES DESIGNINFO
BEGIN
    IDD_ABOUTBOX, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 163
        TOPMARGIN, 7
        BOTTOMMARGIN, 55
    END
END

ダイアログをコピーして貼り付けて新しいダイアログを作成すると、VS2010はrcファイルをランダムに破損するようです。

于 2012-12-21T19:07:29.827 に答える
1

以前に作成されたダイアログがあり、ダイアログの ID が .rc ファイルで手動で変更された場合、.rc ファイルのダイアログ定義が破損の原因であることがわかりました。そのため、以前の作業バージョンの .rc ファイルを調べたところ、resource.h ファイルで定義されていないダイアログ ID が見つかり、それを .rc ファイルから削除しました。また、ダイアログの GUIDELINES DESIGNINFO セクションが空である可能性があることもわかりました。つまり、マージン情報がまったくないダイアログ定義を使用しても問題ありません。この GUIDELINES DESIGNINFO ブロックの不明なダイアログ定義により、VS2010 がエントリ ",50" を生成し、他のダイアログに追加の点線のボックスまたは紫色の背景が表示されます。

于 2014-02-15T07:19:35.427 に答える
1

これに頻繁に悩まされた後、VS2010 がリソース ファイルの designinfo を爆破することがある理由を発見しました。定数はすでになくなりました。VS2010 はエラーをスローせず、代わりにガベージをロードします。

Google インデックスの場合: ドイツ語のエラー メッセージは "Führungslinie muss Typangabe enthalten" です。

于 2013-04-29T09:48:53.003 に答える
0

ガイドラインの「タイプ」は、値の前に指定する必要があります。次のいずれかである必要があります。

LEFTMARGIN, RIGHTMARGIN, TOPMARGIN, BOTTOMMARGIN, VERTGUIDE, HORZGUIDE

コードは次のようになります。

IDD_INSTRUMENT_DIALOG, DIALOG
BEGIN
    BOTTOMMARGIN, 50
END
于 2014-02-03T21:52:51.277 に答える