2012-08-09 30 views
5

W pliku .rc znalazłem, że mam 3 sekcje TEXTINCLUDE powtórzone dwukrotnie, z inną treścią. Po otwarciu "Resource Includes" wyświetlane są tylko elementy z pierwszych 3 sekcji. Popracowałem z .rc dawno temu, więc być może jest to z tego powodu.Powielanie sekcji TEXTINCLUDE w pliku .rc

Czy mogę bezpiecznie usunąć drugie 3 sekcje?

mam wklejony to z mojego pliku .rc, można zobaczyć, jak sekcje TEXTINCLUDE są powtarzane (czyli „3 TEXTINCLUDE” następuje „1 TEXTINCLUDE”.

1 TEXTINCLUDE 
BEGIN 
    "resource.h\0" 
END 

2 TEXTINCLUDE 
BEGIN 
    "#include ""afxres.h""\r\n" 
    "#include ""res/Pngs.h""\r\n" 
    "#include ""res/PngsNag.h""\0" 
END 

3 TEXTINCLUDE 
BEGIN 
    "#include ""afxres.rc""  // Standard components\r\n" 
    "#include ""res/MyProject.rc2""\r\n" 
    "#include ""res/Pngs.rc2""\r\n" 
    "#include ""res/PngsNag.rc2""\0" 
END 

1 TEXTINCLUDE 
BEGIN 
    "resource.h\0" 
END 

2 TEXTINCLUDE 
BEGIN 
    "#include ""afxres.h""\r\n" 
    "\0" 
END 

3 TEXTINCLUDE 
BEGIN 
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n" 
    "#define _AFX_NO_OLE_RESOURCES\r\n" 
    "#define _AFX_NO_TRACKER_RESOURCES\r\n" 
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n" 
    "\r\n" 
    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" 
    "#ifdef _WIN32\r\n" 
    "LANGUAGE 9, 1\r\n" 
    "#pragma code_page(1252)\r\n" 
    "#endif //_WIN32\r\n" 
    "#include ""res\\MyProject.rc2"" // non-Microsoft Visual C++ edited resources\r\n" 
    "#include ""afxres.rc""   // Standard components\r\n" 
    "#endif\r\n" 
    "\0" 
END 

Odpowiedz

6

To jest porcja, która jest generowana przez graficzny edytor zasobów wbudowany w Visual Studio.Nie ma żadnego wpływu w czasie wykonywania, to tylko zapisuje stan dla redaktora będziesz narażony na poważne ryzyko zerwania edytora, gdy będziesz go bałagan. Co jest w porządku, jeśli jesteś nigdy używać edytora zasobów i zawsze zarządzać zasobami za pomocą edytora tekstu.

Jest trochę o tle w tym MSDN article:

Poniżej opisano, jak Visual C++ zachowuje tę informację w pliku .RC. Nie potrzebujesz tych informacji, aby korzystać z Visual C++, ale może to poprawić twoje zrozumienie, abyś mógł bardziej pewnie korzystać z funkcji Set Includes.

Każdy z powyższych trzech typów Zestaw zawiera informacje jest przechowywany w pliku .RC w dwóch postaciach: (1) jako #include lub inne dyrektywy interpretowalne przez kompilator zasobów, oraz (2) jako specjalne zasoby TEXTINCLUDE możliwe do interpretacji od Visual C++.

Celem zasobu TEXTINCLUDE jest bezpieczne przechowywanie informacji o zestawie Uwzględnij w formie, która jest łatwo prezentowalna w oknie dialogowym Ustaw zawiera funkcje programu Visual C++. TEXTINCLUDE to typ zasobu zdefiniowany przez Visual C++. Visual C++ rozpoznaje trzy konkretne zasoby TEXTINCLUDE, które mają numery identyfikacyjne zasobu 1, 2 i 3:

TEXTINCLUDE resource ID  Type of Set Includes information 
     1     Symbol Header File 
     2     Read-Only Symbol Directives 
     3     Compile-Time Directives 
1

tylko jeden zestaw TEXTINCLUDE Po prostu musisz zdecydować, który zestaw działa lepiej dla ciebie: