Chaînes de ressources

De RAD Studio
Aller à : navigation, rechercher

Remonter à Gestion des types de données et des concepts du langage Object Pascal


Si vous avez du code dans une unité Delphi qui utilise des chaînes de ressource, le compilateur Delphi (DCC32) génère une variable globale et une macro du préprocesseur correspondante pour chaque chaîne de ressource quand il génère le fichier d’en-tête. Les macros sont utilisées pour charger automatiquement les chaînes de ressource et doivent être utilisées dans le code C++ à chaque fois qu’une chaîne de ressource doit être référencée. Par exemple, la section resourcestring du code Delphi doit contenir :

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

Le code correspondant généré par le compilateur Delphi pour C++Builder doit être :

extern PACKAGE System::Resource ResourceString _Warning;
#define Myunit_Warning System::LoadResourceString(&Myunit::_Warning)
Remarques :
  • Les noms d'unités sont normalisés dans C++, car C++ est un langage sensible à la casse. C'est pour cette raison que le nom d'unité "MyUnit" devient "Myunit" dans C++.
  • "_Warning", comme toute autre instance de ResourceString générée par le compilateur Delphi, étant déclarée dans l'espace de nommage "Myunit", vous devez y accéder en tant que Myunit::_Warning.
  • La ligne de définition vous permet d’utiliser la ressource chaîne Delphi exportée en tant que "Myunit_Warning" sans avoir à appeler explicitement LoadResourceString.

Voir aussi