hello list,
got a real obstinate problem, updating a wxCheckListBox's item: using 2.4.2, MingGW on W2K. To do so, created a wxDialog do change the data of the seleted Item. This Dialog (own class) stores the changed data in memberdata, afterwords those should be put in the cheklistbox by this:
m_arrayopendProfiles[m_p_notebook->GetSelection()].GetExcludes()->MdfExeptn(p_exc_path->get_value(), excl_index);
m_arrayopendProfiles is just an array, containing opend profiles... [m_p_notebook->GetSelection()] returns the index GetExcludes() returns a pointer to the checklistbox MdfExeptn(wxString const&, int) calls wxListBox::SetString(int, wxString const&) p_exc_path->get_value() returns the dialogs memberdata, the string (p_exc_path is the dialog's pointer) excl_index is the selected index of the checklistbox (and is valid)
Now the problem: The first time ( !!!afterwords it will work fine!!! ), I update an item, I get an assert:
../../src/msw/listbox.cpp(773): assert "wxAssertFailure" failed. (line number doesn't accore to http://g.yi.org/f.php?f=8812)
Here the range of the internal calls:
frame={level="0",addr="0x0045919d",func="wxListBox::SetString(int, wxString const&)",file="../../src/msw/listbox.cpp",line="530"} frame={level="0",addr="0x004591e7",func="wxListBox::SetString(int, wxString const&)",file="../../src/msw/listbox.cpp",line="533"} frame={level="0",addr="0x0045881c",func="wxListBox::IsSelected(int) const",file="../../src/msw/listbox.cpp",line="388"} frame={level="0",addr="0x0045886a",func="wxListBox::IsSelected(int) const",file="../../src/msw/listbox.cpp",line="390"} frame={level="0",addr="0x0057e707",func="wxWindow::GetHWND() const",file="../../include/wx/msw/window.h",line="180"} frame={level="0",addr="0x0054a740",func="SendMessageA@16",file="../../include/wx/object.h",line="66"}
What I really can't imagine, why this will only happen the first time???
Best Regards Achim |