Chaînes de ressources

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Support du langage pour les bibliothèques Appmethod (C++)


Si vous avez du code dans une unité Object Pascal qui utilise des chaînes de ressource, le compilateur Object Pascal (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 Object Pascal 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 Object Pascal pour Appmethod C++ 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 Object Pascal, é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 Object Pascal exportée en tant que "Myunit_Warning" sans avoir à appeler explicitement LoadResourceString.

Voir aussi