求指点线程对VCL控件操作的问题。 - C++ Builder / Windows SDK/API
因为少用线程,近期恰好要用到线程访问一个Memo控件。
其实也就是把线程里面的信息写入Memo。
经常看到vcl是多线程不安全的,我想请问各位前辈,几个线程同时写Memo,问题主要会出现在什么地方?
我尝试用两个线程写信息到Memo,大概两个线程一秒写一次,测试了几次都没发生问题,请问这种做法有什么需要注意的地方?或者说有潜在的隐患只是我暂时还没遇到。
另我用CreateThread创建线程的。
我在bcb6里面,在线程循环里面处理一些数字,如果在没中断情况下退出程序,就会抛出异常。
但是不在IDE环境下就没问题,请问这种异常情况是不是IDE的本身问题?
感谢各位指点!
[解决办法]
http://topic.csdn.net/u/20110213/16/2dc0ac4c-01c4-485d-ae1f-af8047e889f0.html
[解决办法]
帮楼主顶起 最近也在研究线程 有点郁闷
[解决办法]
在线程的说明里不是有例子
// Important: Methods and properties of objects in VCL can only be
// used in a method called using Synchronize, for example:
//
// Synchronize(UpdateCaption);
//
// where UpdateCaption could look like:
//
// void __fastcall aaa::UpdateCaption()
// {
// Form1->Caption = "Updated in a thread";
// }
[解决办法]
对memo的操作你可以封装在函数xxxxx中,然后用
Synchronize(xxxxx);执行
[解决办法]