Bonjour,
J'ai créé une classe Language qui contient un membre :
J'ai un accesseur sur ce membre :Code:
1
2
3private: vector<string> Msg_Language;
D'autre part, j'ai créé une fonction de traduction du message :Code:
1
2
3
4 string CLanguage::Get_MsgLanguage(int idx) const { return Msg_Language[idx]; }
Et j'utilise cette fonction dans :Code:
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(); }
Le problème est le suivant :Code:SetDlgItemText(hwndDlg,IDC_ENTER_NEW_RESOLUTION,get_translation(ID_MSG_ENTER_NEW_RESOLUTION,""));
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 ...