Bonjour tous le monde,

J'ai deux classes NppExec et xmlConfig. La classe XMLConfiguration assure le parsing d'un fichier xml.
Dans ls classe NppExec il y a appel d'une méthode de la classe XMLConfiguration. Cette méthode prend en paramètre une variable de type TCHAR*

Le problème est que la valeur de cette variable est perdu suite à l'appel de cette méthode.

Le code de NppExec.cpp est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
void CNppExec::OnAGSDialog(TCHAR* str_iNameAGSBloc)
{
  if(!_XMLConfig.GetAGSBloc(str_iNameAGSBloc)) \\str_iNameAGSBloc = "TIMER"
  {
    ::MessageBox(NULL, LPCWSTR(str_iNameAGSBloc), LPCWSTR(str_iNameAGSBloc), MB_OK);
  }
  else
  {
    if ( PluginDialogBox(IDD_AGS_DIALOG, AGSDialogProc) == 1 )
    {
    }
  }
}
Le code de XMLConfiguration est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
bool XMLConfiguration::GetAGSBloc(TCHAR* str_Name)
{
  TiXmlElement *elem; \\a cette instruction la valeur de str_Name est perdu
  string l_NameElement;
  string l_FigureName;
  string l_CodeFileName;
 
         //traitement
 
  return false;
}
Pour quoi la valeur est perdu?

Merci pour votre aide