TDM Geschrieben 5. Dezember 2006 Geschrieben 5. Dezember 2006 Hallo, ich habe folgendes Problem: Ich hab ein Dialogfenster (MFC) mit einer CComboBox usw. Jetzt möchte ich, dass beim Start des Dialoges automatisch Objekte aus einer Datei geladen und in der Combobox angezeigt werden. Ich dachte mir, dass ich die gleich im Konstruktor der Dialogklasse fülle. Das ganze sieht in etwa so aus: CBZRDlg::CBZRDlg(CWnd* pParent /*=NULL*/) : CDialog(CBZRDlg::IDD, pParent) { //{{AFX_DATA_INIT(CBZRDlg) //}}AFX_DATA_INIT // Beachten Sie, dass LoadIcon unter Win32 keinen nachfolgenden DestroyIcon-Aufruf benötigt m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_pAutoProxy = NULL; p_SetFileProperties(); auto CList<CUser, CUser&> a_oUsers; CUser::s_p_GetUsers(a_oUsers); auto CUser a_oUser = a_oUsers.GetTail(); auto POSITION a_sePosition = a_oUsers.GetTailPosition(); for (int a_nIndex=0;a_nIndex < a_oUsers.GetCount();a_nIndex++) { TRACE("FOR: %s\r\n", a_oUser.p_lpGetFName().c_str()); const char* test = a_oUser.p_lpToString(false).c_str(); m_oeCtrlMainStiUser.AddString(a_oUser.p_lpToString(false).c_str()); a_oUser = a_oUsers.GetPrev(a_sePosition); } } An sich eigentlich nichts besonderes, die Variable m_oeCtrlMainStiUser ist ein Control für die Combobox und soll die Objekte (zu Testzwecken erstmal nur Strings) aus einer CList in die Box eintragen. Leider funktioniert das nicht so wie ich mir das gedacht habe. Beim Programmstart (Konstruktoraufruf) klappt alles reibungslos bis zur Zeile: m_oeCtrlMainStiUser.AddString(a_oUser.p_lpToString(false).c_str()); Ich bekomme da immer folgende Fehlermeldung: Debug Assertion Failed ... File: afxwin2.inl Line: 735 For Informationen [...] see your C++ documentation on asserts mein Frage jetzt: Wie krieg ich da ein Objekt rein ? btw: VSC++ 6.0 Zitieren
TDM Geschrieben 5. Dezember 2006 Autor Geschrieben 5. Dezember 2006 *an Kopf klatsch* Ich sollte mehr die TODOs von Microsoft lesen... -> verschoben nach OnInitDialog Strings hinzufügen klappt jetzt, wie kann ich ganze Objekte dort reinbringen ? Es müsste dann via Memberfunktion auch die Darstellungsform (der anzuzeigende Text) repräsentierbar sein. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.