doofe situation ! habe ein sdi projekt. in diesem ist ein docking windows am unteren rand welches eine listbox enthält. diese listbox soll nun einen wert per AddString bekommen. geht aber nicht. bekomme nen assert fehler. das AddString steht in der CProzIntApp.cpp. Diese Klasse hat eine Instanz des docking windows. jetzt ist es aber so das zu aller erst ein fensterchen erschein (modal) welches einen pfad abfragt und die funktion aufruft in der das AddString vorkommt.
oh weh wie erklär ich das nur am geschicktesten ?
ich denke mal das es wegen dem modalen fenster net geht, oder ? habe es dann aber nach dem schließen des fensters eingefügt und da gehts auch net.
Hi! Also wenn du die richtigte Instanz hast, dann sollte sie die Memberfunktion GetSafeHwnd besitzen. Ansonsten hängt es ab welches Docking Window du hast. Die DW, welche ich benutzt habe, hatten meistens eine eigene Funktion dafür.
sprintf(buffer, "- Projekt %s gespeichert.", NewProject.m_Speicherort); m_wndMyBar.m_ListBox.AddString(buffer); int count = m_wndMyBar.m_ListBox.GetCount(); m_wndMyBar.m_ListBox.SetCurSel(count - 1); m_wndMyBar.m_ListBox.SetCurSel( - 1); ....
Debug Assertion in der Funktion AddString.
ich denke nicht das es etwas mit dem dw zu tun hat. das wird ja problemlos aufgebaut und bekommt auch aus ner anderen klasse direkt beim start 3 zeilen eingetragen in die listbox. das kommt allerdings aus ner anderen klasse.
nochmal der ablauf :
programmstart. aufbau des debugwindow(docking window) 3 zeilen einfügen anzeigen eines modalen dialoges zur pfadbestimmung des projektes beim klicken von ok soll nun einen neue zeile in die listbox eingetragen werden. -- gruesse rene