Bonjour,
J'ai créé une classe Language qui contient un membre :
1 2 3
| private:
vector<string> Msg_Language; |
J'ai un accesseur sur ce membre :
1 2 3 4
| string CLanguage::Get_MsgLanguage(int idx) const
{
return Msg_Language[idx];
} |
D'autre part, j'ai créé une fonction de traduction du message :
1 2 3 4 5 6 7
| template<typename T>
LPCSTR get_translation(int ID_Msg,T tParameter)
{
static CLanguage& My_Language = CLanguage::getInstance(""); // Getting the single language instance
string s = My_Language.Get_MsgLanguage(ID_Msg);
return s.c_str();
} |
Et j'utilise cette fonction dans :
SetDlgItemText(hwndDlg,IDC_ENTER_NEW_RESOLUTION,get_translation(ID_MSG_ENTER_NEW_RESOLUTION,""));
Le problème est le suivant :
La variable s est tout à fait cohérente au debugging.
Par contre, la valeur retournée par get_translation elle ne l'est pas. Ma boîte de dialogue affiche du charabia ...
Même chose sur une variable intermédiaire de test : LPCSTR ss = get_translation
Si vous avez des idées ...
Merci à tous ...
Partager