在VS2010中打开rc文件时,“指南必须指定类型”错误

时间:2012-12-12 23:15:28

标签: visual-studio-2010 visual-studio mfc

我有一个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 个答案:

答案 0 :(得分:2)

原来rc文件在某种程度上被VS2010破坏了。我在源代码管理中使用了原始版本并手动重新合并以修复它。更正后的代码如下所示:

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

当复制/粘贴对话框以创建新文件时,VS2010似乎会随机破坏rc文件。

答案 1 :(得分:1)

经常被这样做后,我发现了VS2010有时会炸毁资源文件的designinfo的原因:在我的情况下,有一个剩余的designinfo条目用于不再存在的对话框,并且甚至IDD_常数已经消失了。 VS2010不会引发错误,而是加载垃圾。

仅针对谷歌索引:德语错误消息是“FührungsliniemussTypangabe enthalten”。

答案 2 :(得分:1)

我发现如果之前创建了一个对话框但是在.rc文件中手动更改了对话框的ID,那么.rc文件中的对话框定义会导致损坏。因此,我查看了.rc文件的上一个工作版本,找到了不再在resource.h文件中定义的对话框ID,并将其从.rc文件中删除。我还发现对话框的GUIDELINES DESIGNINFO部分可以是空的,即可以根本没有任何边际信息的对话框定义。此GUIDELINES DESIGNINFO块中的未知对话框定义将导致VS2010生成条目“,50”,这将使其他对话框出现另外的虚线框或紫色背景。

答案 3 :(得分:0)

必须在值之前指定Guidline的“类型”。它应该是以下之一:

LEFTMARGIN, RIGHTMARGIN, TOPMARGIN, BOTTOMMARGIN, VERTGUIDE, HORZGUIDE

您的代码将是这样的:

IDD_INSTRUMENT_DIALOG, DIALOG
BEGIN
    BOTTOMMARGIN, 50
END