Präprozessor-Direktiven

#if / #ifdef / #else / #elif / #endif

Normalerweise wird jeder bedingt kompilierte Block gelesen, unabhängig davon, ob der #if-Ausdruck WAHR ist oder nicht.

#ifdef _DEBUG STRINGTABLE DISCARDABLE BEGIN IDS_VERSIONSTRING "Debug version" END #else STRINGTABLE DISCARDABLEaaa BEGIN IDS_VERSIONSTRING "Release version" END #endif

In diesem Beispiel werden beide Texttabellen eingelesen.

Manche Schlüsselwörter werden als „definiert“ oder „nicht definiert“ behandelt. In diesem Fall wird der #if/#ifdef -Ausdruck ausgewertet. Der bedingt kompilierte Block, der nicht gelesen wird, wird unverändert in die Zieldatei geschrieben.

Dies sind die Schlüsselwörter, die standardmäßig verarbeitet werden. Die Liste kann für eine RC-Datei auch geändert werden (siehe Optionen für RC-Quelldateien).

RC_INVOKEDdefiniert
PASSOLO_INVOKEDdefiniert
APSTUDIO_INVOKEDnicht definiert

Beispiel:

#if defined(APSTUDIO_INVOKED) ... // This block is  read by RC_PARSE #else ... // This block is not read by RC_PARSE #endif

Benutzen Sie PASSOLO_INVOKED, um Bereiche in der RC-Datei zu markieren, die nicht eingelesen werden sollen.

#ifndef PASSOLO_INVOKED ... // This block is not read by RC_PARSE // but it will be compiled into the .res file #endif

#include

Eingebettete Dateien werden nicht vom RC-Datei-Parser gelesen. Wenn solche Dateien lokalisiert werden sollen, müssen Sie sie dem SDL Passolo-Projekt einzeln hinzufügen. Es ist auch möglich, den Dateipfad zu übersetzen. Passolo listet alle Dateien als #include-Ressource auf. Sie können den Pfad modifizieren, sodass er auf die übersetzte Version zeigt.

Dieses Beispiel zeigt, wie die #include-Pfade für eine MFC-Applikation geändert werden. Übersetzte Versionen von afxres.rc und afxprint.rc sind Teil der MFC. Um in andere Sprachen zu übersetzen, müssen Sie afxres.rc Ihrem Projekt hinzufügen.

#define / #undef

RCParser wertet keine #define- oder #undef-Ausdrücke aus.