In meiner CDialog abgeleiteten Klasse, in der -Methode, ich pre-füllung Bearbeitungsfelder mit vorherigen Konfiguration geladen von bereits vorhandenen Konfig.SetDlgItemText füllt Editierfeld mit Junk
SetDlgItemText(IDC_EDIT1, LPCTSTR(data->project_file.c_str()));
SetDlgItemText(IDC_EDIT2, LPCTSTR(data->remote_addr.c_str()));
project_file
und remote_addr
sind beide vom Typ std::string
. Sie sind korrekt gefüllt, mit Strings, die den relevanten Dateinamen und Hostnamen enthalten (unter Debugger überprüft).
Die Dialogelemente zeigen jedoch 㩆慜瑩噜獩楳屭獁整屲浴㙰䌷⹃浴瑩c췍췍췍췍췍췍﷽﷽翹
bzw. 㤱⸲㘱⸸⸰㐷촀췍
an. Wenn ich die Daten in sie eingeben, können sie richtig gelesen werden, und ihre Daten werden relativ schmerzlos in std :: string konvertiert.
Was mache ich falsch?