Stringtable geht nicht immer
-
Hallo,
Warum ersetzt er den text den ich zuvor in einer stringtable geschrieben habe in einer messagebox und sonst nicht?
AfxMessageBox(IDS_Hallo); -> gibt den text aus der in hallo steht
listbox.AddString(IDS_GERMAN); -> gibt einen Fehler
"""Konvertierung des Parameters 1 von 'int' in 'LPCTSTR' nicht möglich"""
Also wenn ich das richtig sehe versucht er hier immer den Wert 1 zu nehemn und nicht die Beschriftung... aber warum? -- und funktioniert es richtig?
-
Weil sich hinter IDS_GERMAN ein int verbirgt. Die AfxMessageBox kann auch einen int (UINT) als Parameter bekommen. Du musst mit LoadString(IDS_GERMAN) erst den String holen.
-
Übrigens will er nicht den Wert 1 nehmen, sondern den ersten Parameter. Welchen Wert dieser (IDS_GERMAN) hat, könntest du nachsehen, indem du im resource-Header die Definition ansiehst. Ist aber natürlich hier unerheblich.
-
listbox.AddString(CString(MAKEINTRESOURCE(IDS_GERMAN)));
http://blog.m-ri.de/index.php/2009/02/25/der-unbekannte-cstring-konstruktor/