Ressourcenstrings

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Unterstützung für Delphi-Datentypen und Sprachkonzepte


Wenn im Quelltext in einer Delphi-Unit Ressourcenstrings verwendet werden, erzeugt der Delphi-Compiler (DCC32) beim Erstellen der Header-Datei für jeden Ressourcenstring eine globale Variable und ein entsprechendes Präprozessor-Makro. Mithilfe der Makros werden die Ressourcenstrings automatisch geladen und sollen im C++-Quelltext überall dort verwendet werden, wo der betreffende Ressourcenstring referenziert wird. Beispielsweise könnte der Ressourcenstring-Abschnitt im Delphi-Quelltext Folgendes enthalten:

 
 unit MyUnit;
 
 interface
 
 resourcestring
     Warning = 'Be careful when accessing string resources.';
 
 implementation
 begin
 end.

Der dafür vom Delphi-Compiler für C++Builder erzeugte Quelltext lautet folgendermaßen:

 
 extern PACKAGE System::Resource ResourceString _Warning;
 #define Myunit_Warning System::LoadResourceString(&Myunit::_Warning)
Hinweise:
  • Unit-Namen werden in C++ normalisiert, weil die Sprache C++ die Groß-/Kleinschreibung berücksichtigt. Deshalb wird in C++ der Unit-Name "MyUnit" in "Myunit" geändert.
  • "_Warning" wird, wie alle anderen Instanzen von ResourceString, die vom Delphi-Compiler generiert werden, im Namespace "Myunit" deklariert, daher müssen Sie folgendermaßen darauf zugreifen: Myunit::_Warning.
  • In der "define"-Zeile können Sie auf den exportierten Delphi-Ressourcenstring als "Myunit_Warning" ohne expliziten Aufruf von LoadResourceString zugreifen.

Siehe auch