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

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
kou
In need of some credit
In need of some credit
Posts: 3
Joined: Tue Nov 28, 2017 12:40 am

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

Post 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

或者 有什么方法能改进 加载慢的问题嘛。
kipade
Earned some good credits
Earned some good credits
Posts: 126
Joined: Fri Nov 11, 2011 2:45 am
Location: China

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

Post by kipade »

不建议直接这么做
建议在线程里面通过event来让UI来追加
因为,在其它工作线程中调用UI操作是危险的,所以你那个问题没必要深究(即使它的确是个问题,也应该在处理好同步之后再说)
Slackware GNU/Linux x86_64
wxWidgets-3.3.0
Post Reply