TN035: Verwenden mehrerer Resource Files and Header Files mit Visual C++

Diese Applikationsschrift beschreibt, wie der Visual C++-Ressourcen-Editor unterstützt mehrere Ressourcendateien und Header-Dateien in einem freigegebenen Projekt oder gemeinsam für mehrere Projekte und wie Sie diese Unterstützung nutzen können. Diese Notiz beantwortet diese Fragen:

Sie sollten beachten, dass wenn Sie eine weitere Ressourcendatei zum Projekt hinzufügen, Klassen-Assistent Ressourcen in die hinzugefügte Datei nicht erkennt.

Dieser Hinweis ist auf die obigen Fragen wie folgt strukturiert:

Überblick über die Funktionsweise von Visual C++ verwaltet Resource Files and Header Files

Visual C++ verwaltet eine einzige.RC-Ressource-Datei und eine entsprechende.H-Headerdatei als eng gekoppelten paar von Dateien. Wenn Sie bearbeiten und Speichern von Ressourcen in einem.RC-Datei, Sie indirekt bearbeiten und speichern Symbole in der entsprechenden.H-Datei. Obwohl Sie können öffnen und mehrerer bearbeiten.RC-Dateien zu einem Zeitpunkt (mit Visual C++ MDI Benutzerschnittstelle) für alle gegeben.RC-Datei Sie indirekt genau einen entsprechenden Header-Datei bearbeiten.

Symbolheaderdatei

Standardmäßig benennt Visual C++ immer die entsprechenden Header-Datei RESOURCE.H, unabhängig von dem Namen der Ressourcendatei (z. B. MYAPP.RC). In Visual C++ mit dem Befehl Datei Set beinhaltet, können Sie den Namen des dieser Headerdatei ändern durch Aktualisieren der Symbolheaderdatei-Datei im Dialogfeld Set beinhaltet.

Direktiven für schreibgeschützte Symbole

Obwohl Visual C++ nur eine Header-Datei für alle gegeben bearbeitet.RC-Datei, Visual C++ unterstützt Verweise auf Symbole in zusätzliche nur-Lese-Headerdateien definiert. In Visual C++ mit dem Befehl Datei Set beinhaltet, können Sie eine beliebige Anzahl von zusätzlichen nur-Lese-Headerdateien als Direktiven für schreibgeschützte Symbole angeben. Die "Read-only" Einschränkung bedeutet, dass beim Hinzufügen einer neuen Ressource in der.RC-Datei, können Sie ein Symbol in der nur-Lese-Headerdatei definiert. aber wenn Sie die Ressource löschen, das Symbol bleibt definiert in der nur-Lese-Headerdatei. Sie können den numerischen Wert zugewiesen ein nur-Lese-Symbol nicht ändern.

Kompilierzeitdirektiven

Visual C++ unterstützt auch Verschachtelung von Ressourcendateien, wo man.RC-Datei wird # include innerhalb einer anderen. Wenn Sie bearbeiten einen bestimmten.RC-Datei mithilfe von Visual C++, die Ressourcen in die # Include-Dateien sind nicht sichtbar. Aber beim Kompilieren der.RC-Datei, die # Include-Dateien ebenfalls kompiliert werden. In Visual C++ mit dem Befehl Datei Set beinhaltet, können Sie eine beliebige Anzahl von # include angeben.RC-Dateien als Kompilierzeitdirektiven.

Beachten Sie, was passiert, wenn Sie in Visual C++ lesen ein.RC-Datei, die # include ist eine andere.RC Datei ist nicht als Kompilierzeit Direktive angegeben. Diese Situation kann auftreten, wenn Sie Visual C++ bringen ein.RC-Datei, die Sie vorher manuell mit einem Text-Editor pflegen hatte. Wenn Visual C++ liest die # include.RC-Datei, führt es die # include-Ressourcen in das übergeordnete Element.RC-Datei. Wenn Sie das übergeordnete Element speichern.RC-Datei, die # include-Anweisung, in der Tat durch die # include-Ressourcen ersetzt werden. Wenn Sie nicht, dass diese Zusammenführung geschehen möchten, entfernen Sie die # include-Anweisung vom übergeordneten Element.RC-Datei vor , die in Visual C++ lesen; dann mit Visual C++ hinzufügen zurück die gleichen # include-Anweisung als Kompilierzeit Direktive.

Speichert Visual C++ in einem.RC Datei drei Arten von oben Set beinhaltet Informationen (Symbolheaderdatei, Direktiven für schreibgeschützte Symbole und Kompilierzeitdirektiven) in # enthalten Richtlinien und TEXTINCLUDE Ressourcen. TEXTINCLUDE Ressourcen, ein Implementierungsdetail, das normalerweise Sie nicht zu bewältigen, werden in Wie Visual C++ verwaltet festgelegt enthält Informationen erläutert.

Analyse der Anwendungs-Assistent erstellt.RC und.H Dateien

Prüfung des Anwendungscodes produziert von AppWizard bietet Einblick in wie Visual C++ mehrere Ressourcendateien und Header-Dateien verwaltet. Die Code-Auszüge unten untersucht werden aus einer MYAPP-Anwendung produziert von AppWizard mit den Standardoptionen.

Eine Anwendungs-Assistenten erstellte Anwendung verwendet mehrere Ressourcendateien und mehrere Header-Dateien, wie in der Abbildung unten zusammengefasst:

Nbsp;  RESSOURCE.H AFXRES.H                    
          \       /                              
           \     /                                
          MYAPP.RC                               
              |                                
              |                              
        RES\MYAPP.RC2 AFXRES.RC AFXPRINT.RC & nbsp
 

Sie können diese mehrere Dateibeziehungen mit dem Befehl Datei von Visual C++/Set Includes anzeigen.

MYAPP.RC

Die Ressourcendatei der Anwendung, die Sie bearbeiten mit Visual C++.

RESSOURCE.H ist der Anwendungs-spezifischen Header-Datei. Es heißt immer Ressource.H von AppWizard, mit Visual C++ Standard der Header-Datei benennen. Die # include für diese Header-Datei ist die erste Anweisung in der Ressourcendatei (MYAPP.RC):

//Microsoft visual C++ generiert Ressourcenskript
//
# include "resource.h"

RES\MYAPP.RC2

Enthält Ressourcen, die werden nicht von Visual C++ bearbeitet werden, aber im Finale kompiliert enthalten sein werden.EXE-Datei. Der Anwendungs-Assistent erstellt keine solche Ressourcen standardmäßig, da Visual C++ alle standard-Ressourcen, einschließlich der Versionsressource (ein neues Feature in dieser Version) bearbeiten können. Eine leere Datei wird vom Anwendungs-Assistenten generiert, für den Fall, dass Sie Ihre eigenen benutzerdefinierten formatierten Ressourcen in diese Datei hinzufügen möchten.

Wenn Sie benutzerdefinierte formatierte Ressourcen verwenden, können Sie sie zu RES\MYAPP hinzufügen.RC2 und sie mit dem Visual C++-Text-Editor bearbeiten.

AFXRES.RC und AFXPRINT.RC enthalten standard-Ressourcen benötigt, die durch bestimmte Features des Frameworks. Wie RES\MYAPP.RC2, sind diese beiden Framework bereitgestellte Ressourcendateien # include am Ende des MYAPP.RC, und sie werden in die Kompilierzeitdirektiven im Dialogfeld Set beinhaltet angegeben. So Sie nicht direkt anzeigen oder Bearbeiten dieser Framework-Ressourcen während der Bearbeitung von MYAPP.RC in Visual C++, aber sie sind in der Anwendung Binärdatei kompiliert.RES-Datei und Finale.EXE-Datei. Weitere Informationen zu den Standardrahmen Ressourcen, einschließlich der Verfahren für das Ändern sie finden Sie unter technischer Hinweis 23.

AFXRES.H definiert die standard-Symbole, wie z. B. ID_FILE_NEW, vom Framework und speziell in AFXRES verwendet.RC. AFXRES.H # auch die WINRES.H, die eine Teilmenge von WINDOWS enthält.H, die von Visual C++ erstellt erforderlich sind.RC-Dateien sowie AFXRES.RC. Die Symbole in AFXRES definiert.H stehen beim Bearbeiten die Anwendung Ressource-Datei (MYAPP.RC). Beispielsweise wird für das Menüelement Datei neu in MYAPP ID_FILE_NEW verwendet.RC die Menüressource. Sie können nicht ändern oder löschen diese Framework definierten Symbole.

Einschließlich zusätzliche Header-Dateien

Die Anwendungs-Assistenten erstellte Anwendung enthält nur zwei Headerdateien: Ressource.H und AFXRES.H. nur Ressource.H ist anwendungsspezifisch. Möglicherweise müssen Sie zusätzliche nur-Lese-Headerdateien in den folgenden Fällen enthalten

Die Header-Datei wird von einer externen Quelle bereitgestellt, oder Sie teilen die Header-Datei unter mehreren Projekten oder mehrere Teile desselben Projekts.

Die Header-Datei hat Formatierung und Kommentare, dass Sie nicht Visual C++ ändern oder herausfiltern, wenn es die Datei speichert. Zum Beispiel, vielleicht wollen Sie bewahren # definieren die verwenden symbolische arithmetische Operationen wie:

# define rot 0
# define blau 1
# define Grün 2
# define ID_COLOR_BUTTON 1001
# define ID_RED_BUTTON (ID_COLOR_BUTTON + rot)
# define ID_BLUE_BUTTON (ID_COLOR_BUTTON + blau)
# define ID_GREEN_BUTTON (ID_COLOR_BUTTON + grün)

Sie können zusätzliche nur-Lese-Headerdateien einschließen, indem Sie den Befehl Datei Set beinhaltet an die # include-Anweisung als eine zweite schreibgeschützter Symbol Richtlinie, wie in:

# include "afxres.h"
# include "second.h"

Das neue Datei-Relationship-Diagramm sieht nun folgendermaßen aus.:

Nbsp;                  AFXRES.H-RESSOURCE.H SEKUNDEN.H                    
          \       /                              
           \     /                                
          MYAPP.RC   
              |                                
              |                              
        RES\MYAPP.RC2 AFXRES.RC AFXPRINT.RC & nbsp
 

Eine Header-Datei zwischen zwei Teilen.RC-Dateien

Vielleicht möchten eine Headerdatei zwischen zwei Teilen.RC-Dateien, die in verschiedenen Projekten, oder möglicherweise das gleiche Projekt sind. Wenden Sie hierzu einfach die beiden oben beschriebene schreibgeschützter Richtlinien-Technik.RC-Dateien. Im Fall wo die beiden.RC-Dateien sind für verschiedene Anwendungen (verschiedene Projekte), das Ergebnis ist im folgenden Diagramm dargestellt:

Nbsp;    RESSOURCE.H AFXRES.H-RESSOURCE.H (für MYAPP1) zweite.H   (for MYAPP2)             
          \       /     \       /           
           \     /       \     /             
          MYAPP1.RC MYAPP2.RC                 
           /    \        /     \                   
          /      \      /       \            
RES\MYAPP1.RC2 AFXRES.RC RES\MYAPP2.RC2 AFXPRINT.RC & nbsp
 

Der Fall, wo die zweite Header-Datei durch zwei geteilt wird.RC-Dateien in der gleichen Anwendung (Projekt) wird unten besprochen.

Verwenden von mehreren Ressourcendateien im selben Projekt

Visual C++ und der Ressource-Compiler unterstützen mehrere.RC-Dateien im selben Projekt durch # enthalten die von einem.RC-Datei in einem anderen. Mehrfache Schachtelung ist zulässig. Es gibt verschiedene Gründe für Ihr Projekt Ressourcen in mehreren Teilen.RC-Dateien:

Sie können # umfassen eine Sekunde.RC in den Kompilierzeitdirektiven im Dialogfeld Set beinhaltet:

# i&nclude "res\myapp.rc2"nbsp; / / nicht - Visual C++ bearbeitet Ressourcen
# include "second.rc" / / die zweite.RC DATEI

# include "afxres.rc" / / Standard Komponenten
# include "afxprint.rc" / / Drucken/drucken Vorschau Ressourcen

Das Ergebnis ist im folgenden Diagramm dargestellt.:

Nbsp;  RESSOURCE.H AFXRES.H                    
          \       /                              
           \     /                                
          MYAPP.RC
              |                                
              |                              
        RES\MYAPP.RC2
        SEKUNDE.RC AFXRES.RC AFXPRINT.RC & nbsp
 

Kompilierzeitdirektiven verwenden, können Sie die Visual C++-bearbeitbare und nicht bearbeitbaren Ressourcen in mehrere organisieren.RC-Dateien, in denen der "Meister" MYAPP.RC nichts aber # include die andere.RC-Dateien. Wenn Sie ein Projekt Visual C++ verwenden.MAK-Datei, dann sollte das "Master" enthalten.RC-Datei in das Projekt so, dass alle Ressourcen, die # include mit der Anwendung kompiliert werden.

Durchsetzung von nicht-bearbeitbaren Visual C++-Dateien

Der Anwendungs-Assistent erstellt RES\MYAPP.RC2-Datei ist ein Beispiel für eine Datei, die Ressourcen enthält, die Sie tun, wollen Sie nicht versehentlich in Visual C++ lesen und schreiben Sie es dann wieder heraus mit Verlust von Formatierungsinformationen. Um dagegen zu schützen, setzen wir die folgenden Zeilen am Anfang der RES\MYAPP.RC2-Datei:

# ifdef APSTUDIO_I&NVOKED
 Nbsp;  # Error kann diese Datei nicht von Visual C++ bearbeitet werden
# endif //APSTUDIO_INVOKED

Wenn Visual C++ kompiliert die.RC-Datei, definiert es APSTUDIO_INVOKED sowie RC_INVOKED. Wenn die Anwendungs-Assistenten erstellte Datei-Struktur ist beschädigt, und Visual C++ liest die # error-Zeile oben, es meldet einen schwerwiegenden Fehler und bricht das Lesen der.RC-Datei.

Verwalten von Symbolen, die gemeinsam von mehreren Visual C++ bearbeitet.RC-Dateien

Zwei Probleme auftreten, wenn Sie Ihre Ressourcen in mehrere aufteilen.RC-Dateien, die Sie separat in Visual C++ bearbeiten möchten:

Die folgende Abbildung zeigt eine Organisation.RC und.H-Dateien, die sich mit der ersten Ausgabe:

&Nbsp;             MYAPP.RC
             /         \
            /           \
MYSTRS.H / MYSHARED.H \ MYMENUS.H
     \    /    /      \   \    \
      \  /    /        \   \    \
   MYSTRS.RC MYMENUS.RC

In diesem Beispiel werden die Zeichenfolgenressourcen in einer Ressourcendatei, MYSTRS gehalten.RC und Menüs sind in einem anderen MYMENUS gehalten.RC. Einige Symbole, z. B. für Befehle, müssen zwischen den beiden Dateien gemeinsam genutzt werden. Ein ID_TOOLS_SPELL kann beispielsweise die Menü-Befehls-ID für das Zauber-Element in einem Menü Extras werden; und es kann auch sein, der von Rahmen in der Anwendung Hauptfenster Statusleiste angezeigten Eingabeaufforderung die Zeichenfolge-ID.

Das ID_TOOLS_SPELL-Symbol wird in der gemeinsam genutzte Headerdatei MYSHARED aufbewahrt.H. Sie pflegen diese gemeinsam genutzte Header-Datei manuell mit einem Text-Editor; Visual C++ wird nicht direkt bearbeiten. In den zwei Ressource Dateien MYSTRS.RC und MYMENUS.RC, geben Sie # MYSHARED enthalten.H in den nur-Lese-Richtlinien für MYAPP.RC, den Befehl Datei Set beinhaltet, wie oben beschrieben.

Es ist am bequemsten, ein Symbol zu antizipieren, Sie freigeben werden, bevor Sie Verwendung versuchen, es, jede Ressource zu identifizieren. Das Symbol der gemeinsam genutzte Headerdatei hinzufügen und, wenn Sie nicht bereits haben # include die gemeinsam genutzte Header-Datei in den Read-Only-Richtlinien für die.RC Datei, bevor Sie mit dem Symbol zu tun. Wenn Sie nicht erwarten, das Symbol auf diese Weise teilen, dann Sie manuell müssen (mit einen Text-Editor) verschieben die # define-Anweisung für das Symbol von, sagen wir, MYMENUS.H MYSHARED.H vor der Verwendung in MYSTRS.RC.

Wenn Sie Symbole in mehreren verwaltet.RC-Dateien, müssen Sie auch helfen, Visual C++, verwenden Sie die gleiche ID numerische Werte für verschiedene Ressourcen (Symbole). Für alle erhalten.RC-Datei, Visual C++ weist inkrementell IDs in jedem der vier ID-Domänen. Zwischen den Sitzungen editieren, Visual C++ hält verfolgen der die letzte ID, die es in den einzelnen Domänen in der Symbolheaderdatei für zugewiesen die.RC-Datei. Hier sind die APS_NEXT Werte für eine leere (neu).RC-Datei:

# define _APS_&NEXT_RESOURCE_VALUEnbsp; 101
# define _APS_NEXT_COMMAND_VALUE 40001
# define _APS_NEXT_CONTROL_VALUE 1000
# define _APS_NEXT_SYMED_VALUE 101

_APS_NEXT_RESOURCE_VALUE ist das nächste Symbolwert, der für eine Dialogressource, die Menüressource usw. verwendet wird. Der gültige Bereich für Symbolwerte Ressource ist 1 auf 0x6FFF.

_APS_NEXT_COMMAND_VALUE ist das nächste Symbolwert, der für eine Befehl-Identifizierung verwendet wird. Der gültige Bereich für Befehl Symbolwerte ist 0 x 8000 bis 0xDFFF.

_APS_NEXT_CONTROL_VALUE ist das nächste Symbolwert, der für ein Dialogfeld-Steuerelement verwendet wird. Der gültige Bereich für Dialogfeld-Steuerelement Symbolwerte ist 8 bis 0xDFFF.

_APS_NEXT_SYMED_VALUE ist das nächste Symbolwert, der ausgegeben wird, wenn Sie manuell den Wert ein Symbols mit dem neuen Befehl im Browser Symbol zuweisen.

Visual C++ beginnt mit etwas höheren Werten, dass die niedrigste rechtlichen beim Wert Erstellen einer neuen.RC-Datei. Der Anwendungs-Assistent wird auch diese Werte etwas besser geeignet für MFC-Anwendungen initialisieren. Weitere Informationen zu ID-Wertebereiche finden Sie unter technischer Hinweis-20.

Jedes Mal, wenn Sie eine neue Ressourcendatei, sogar im selben Projekt erstellen, wird Visual C++ jetzt die gleichen _APS_NEXT_ -Werte definiert. Dies bedeutet, dass wenn Sie, sagen, fügen Sie mehrere in zwei verschiedene Dialoge.RC-Dateien, es ist sehr wahrscheinlich, dass die gleichen # Wert definiert werden verschiedene Dialoge zugewiesen werden. Z. B. IDD_MY_DLG1 in der ersten.Möglicherweise RC-Datei zugewiesen werden, die gleiche Nummer, 101, als IDD_MY_DLG2 in einer Sekunde.RC-Datei.

Um dies zu vermeiden, sollten Sie einen separaten numerischen Bereich für jeden der vier Bereiche der IDs in den jeweiligen reservieren.RC-Dateien. Zu diesem Zweck manuell aktualisieren der _APS_NEXT -Werte in den einzelnen die.RC-Dateien bevor Sie starten, Hinzufügen von Ressourcen. Zum Beispiel, wenn die erste.RC-Datei verwendet die Standardwerte für die _APS_NEXT , dann vielleicht die zweite der folgenden _APS_NEXT -Werte zuweisen möchten.RC-Datei:

# define _APS_&NEXT_RESOURCE_VALUEnbsp; 2000
# define _APS_NEXT_COMMAND_VALUE 42000
# define _APS_NEXT_CONTROL_VALUE 2000
# define _APS_NEXT_SYMED_VALUE 2000

Natürlich ist es noch möglich, dass Visual C++ so viele IDs im ersten zuweisen.RC-Datei, die die numerischen Werte zu denen vorbehalten für die zweite überlappen beginnen.RC-Datei. Sie sollten ausreichend große Bereiche behalten, so dass dies nicht geschieht.

Verwalten von Abhängigkeiten zwischen.RC.CPP, und.H Dateien

Wenn Visual C++ speichert ein.RC-Datei, speichert es auch Symbol Änderungen der entsprechenden Ressource.H-Datei. Einer der Ihren.CPP-Dateien, die auf Ressourcen verweisen die.RC-Datei muss # enthalten die Ressource.H-Datei, in der Regel von master-Header-Datei des Projekts. Dies führt zu einer unerwünschten Nebenwirkung aufgrund der Entwicklungsumgebung internes Projektmanagement die Quelldateien für den Header Abhängigkeiten durchsucht. Jedes Mal, wenn Sie ein neues Symbol hinzufügen in Visual C++ alle die.CPP-Datei, dass # Ressource include.H müsste neu kompiliert werden.

Visual C++ umgeht die Abhängigkeit von der Ressource.H durch die Einbeziehung des folgenden Kommentars als erste Zeile der Ressource.H-Datei:

 //{{NO_DEPENDENCIES}}

Die Entwicklungsumgebung interpretiert diesen Kommentar ignoriert werden die Änderungen an der Ressource.H also, dass abhängige.CPP-Dateien nicht neu kompiliert werden müssen.

Visual C++ immer fügt die //{{NO_DEPENDENCIES}} Zeile zu kommentieren ein.RC-Datei beim Speichern der Datei. In einigen Fällen der Buildabhängigkeit von Ressourcen umgehen.H kann zur Laufzeit Fehler unentdeckt zur Verknüpfungszeit führen. Beispielsweise wenn Sie die Symbol-Browser verwenden, um den numerischen Wert zugewiesen ein Symbol für eine Ressource zu ändern, die Ressource wird nicht richtig gefunden und geladen werden bei Anwendung Laufzeitfehler If die.CPP-Datei, die auf die Ressource wird nicht erneut kompiliert. In solchen Fällen sollten Sie explizit eine neu kompilieren.CPP-Dateien, die Sie kennen sind durch das Symbol Änderungen Ressource betroffen.H oder wählen Sie neu alle. Wenn Sie das häufig Symbolwerte für eine bestimmte Gruppe von Ressourcen ändern müssen, finden wahrscheinlich Sie es bequemer und sicherer, diese Symbole in ein separates nur-Lese-Headerdatei, ausbrechen, wie im obigen Abschnitt Einschließlich zusätzliche Header-Dateien.

Wie Visual C++ verwaltet enthält Informationen

Wie oben beschrieben, ermöglicht das Menü Datei, Befehl Set beinhaltet drei Arten von Informationen angeben:

Im folgenden wird beschrieben, wie Visual C++ verwaltet diese Informationen in einem.RC-Datei. Sie müssen diese Informationen mithilfe von Visual C++ nicht, aber es kann Ihr Verständnis verbessern, so dass Sie sicher das Set beinhaltet Feature verwenden können.

Jede der oben genannten drei Typen von Set beinhaltet Informationen werden in der.RC-Datei in zwei Formen: (1) als # enthalten oder anderen Richtlinien auslegbare vom Ressourcencompiler, und (2) als besondere TEXTINCLUDE Ressourcen auslegbare nur von Visual C++.

Die von der Ressource TEXTINCLUDE soll sicher festgelegt sind Informationen in einem Formular speichern, die in Visual C++ festlegen enthält das Dialogfeld ohne weiteres darstellbar ist. TEXTINCLUDE ist ein Ressourcentyp definiert von Visual C++. Visual C++ erkennt drei spezifische TEXTINCLUDE Ressourcen, die die Ressource ID Nummern 1, 2 und 3:

TEXTINCLUDE Ressource i.d. Set beinhaltet Informationen
1 Symbolheaderdatei
2 Direktiven für schreibgeschützte Symbole
3 Kompilierzeitdirektiven

Jeder der drei Typen von Set beinhaltet Informationen ist standardmäßig MYAPP dargestellt.RC und Ressource.H-Dateien erstellt von AppWizard, wie unten beschrieben. Die zusätzliche \0 und "" Token zwischen BEGIN und END-Blöcke sind von der RC-Syntax erforderlich, um NULL beendeten Zeichenfolgen und das doppelte Anführungszeichen angeben.

Symbolheaderdatei

Die Form der Symbolheaderdatei Informationen interpretiert vom Ressourcencompiler ist einfach eine # include-Anweisung:

# include "resource.h"

Ist die entsprechende Ressource TEXTINCLUDE:

1 TEXTINCLUDE DISCARDABLE
BEGINNEN
   # resource.h\0 "
ENDE

Direktiven für schreibgeschützte Symbole

Direktiven für schreibgeschützte Symbole sind an der Spitze der MYAPP enthalten.In der folgenden Form, die vom Ressourcencompiler auslegbare RC:

# include "afxres.h"

Ist die entsprechende Ressource TEXTINCLUDE:

2 TEXTINCLUDE DISCARDABLE
BEGINNEN
   "# include" "afxres.h""\r\n"
   "\0"
ENDE

Kompilierzeitdirektiven

Kompilierzeitdirektiven werden am Ende der MYAPP.In der folgenden Form, die vom Ressourcencompiler auslegbare RC:

# ifndef APSTUDIO_I&NVOKED
///////////////////////
//
/ / Aus TEXTINCLUDE 3
//
# include "res\myapp.rc2"nbsp; / / nicht - Visual C++ bearbeitet Ressourcen

# include "afxres.rc" / / Standard Komponenten
# include "afxprint.rc" / / Drucken/drucken Vorschau Ressourcen
# endif / / nicht APSTUDIO_INVOKED

Die # ifndef-APSTUDIO_INVOKED-Direktive weist Visual C++ Kompilierzeitdirektiven überspringen.

Ist die entsprechende Ressource TEXTINCLUDE:

3 TEXTI&NCLUDE DISCARDABLE
BEGINNEN
"# include" "res\myapp.rc2""nbsp; / / nicht - Visual C++ bearbeitet Resources\r\n "
"\r\n"
"# include""afxres.rc" "/ / Standard Components\r\n"
"# include""afxprint.rc" "/ / Drucken/drucken Vorschau Resources\r\n"
"\0"
ENDE

Technische Hinweise von &Nummer |nbsp; Technische Hinweise nach Kategorie

Index