Page 1 of 1

error [vector.h(404) assert "idx < m_size" failed in at().]

Posted: Tue Nov 28, 2017 1:04 am
by kou
我用 wxTreeListCtrl 的 AppendItem 函数 进行 List 的作成。
但是List的数量变得很大时,速度就会很慢。
所以 为了改进这个问题,我把一部分的 item的加载处理放到
wxThread里进行,我新建了 全局的 wxTreeListCtrl 的类,
然后通过 wxThread 线程函数 把List作成了,通过 AppendItem 函数。
但是 作成时候 出现了[.......vector.h(404) assert "idx < m_size" failed in at().]
这个错误,查阅很多资料,相关记载太少了,找不到合适的解决方法。
谁能帮我看看是什么问题。谢谢了。

开发环境是 win10+Eclipse+WinGW

或者 有什么方法能改进 加载慢的问题嘛。

Re: error [vector.h(404) assert "idx < m_size" failed in at().]

Posted: Thu Nov 30, 2017 3:36 am
by kipade
不建议直接这么做
建议在线程里面通过event来让UI来追加
因为,在其它工作线程中调用UI操作是危险的,所以你那个问题没必要深究(即使它的确是个问题,也应该在处理好同步之后再说)