TXMLDocument et EDomParseError
Bonjour � tous
Je suis actuellement en train de rendre mon programme multilangue.
j'ai donc diff�rent fichier XML contenant les captions des boutons et autres affichages de mon application (un par langue).
Au d�marrage de mon application, je charge le document XML correspondant a la langue stock� dans un fichier ini et je renseigne tous les captions. L� pas de probl�me.
Je veux donn� la possibilit� a l'utilisateur de changer cette langue quand il le d�sire. J'ai donc un menu me permettant de faire cela, qui appelle les m�me fonctions que lors du premier chargement du programme et ainsi charger les captions de la langue correspondante.
Or, lors d'un changement de langue, j'ai une erreur EDomParseError
Est-ce que quelqu'un saurais d'o� peut venir le probl�me.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
// Méthode qui charge les Caption des composants
bool __fastcall TMainForm::ChargerCaption(void)
{
// Chemin pour le fichier de langue
AnsiString CheminFichierLang = ExtractFilePath(Application->ExeName) + "\Lang\\";
// On fini de construire le chemin pour le fichier de langue
CheminFichierLang += Langue;
CheminFichierLang += ".lang";
// On récupère le contenu du fichier XML
DocumentXML->LoadFromFile(CheminFichierLang);
// On active le document
DocumentXML->Active = true;
// On récupère la racine du document
_di_IXMLNode Racine = DocumentXML->DocumentElement;
....
} |
L'erreur se produit lorsque je veux r�cup�rer la racine.
Voici l'appel dans le constructeur de l'application pour le premier chargement
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
// On charge la langue
Language(); // Méthode qui récupère la langue dans le fichier ini
// On charge les captions
if(!ChargerCaption())
{
ShowMessage("Erreur dans le fichier de langue !");
// On vide le document XML
DocumentXML->XML->Clear();
// On désactive le document
DocumentXML->Active = false;
Application->Terminate();
}
// On vide le document XML
DocumentXML->XML->Clear();
// On désactive le document
DocumentXML->Active = false; |
Merci d'avance pour votre aide.