多线程操作VCL控件
我想知道多线程的每一个线程的执行状态和到达每一步的数据,我采用ListView来实时显示。每一个线程创建后我就指定一个ListView.Items上面的每一栏显示我几个变量的值。
结果是,在操作的初期程序一切正常,一定时间后(不定期),莫名的报错“System Error. Code: 1400. 无效的窗口句柄。 ”,这时候查看软件发现listview惊奇的消失了,一片白。话说多线程操作VCL的时候是要加同步来执行,我考虑到这个问题了才定义每一个线程操作ListView的单独一个Items,不与其他线程共用Items。如果说真不能多线程操作的话,那应该运行就会报错呀,不可能等段时间弹出个错误呀。
现在想想还只能用同步来做,但是这样感觉效率很低,不能达到真正的多线程效果。我只是想实时监控每一个线程的每一步变量的值,不知还有其他办法?
各位有何高见,请予以讨论呀。