Thread给几点说明: 1、MyThread的实例作为TForm1的成员变量 2、不要使用Form1这个全局变量,线程中可要使用它的Handle,你可以在Form中创建MyThread的实例时把Handle传递进去作为MyThread的成员变量保存 3、OnWM_MYMESSAGE不要写Form1.Showdata,直接写Showdata就可以了 4、线程的Execute不要调用application.ProcessMessages 5、ManageData改成MyThread的成员方法比较好 6、gnbufferX变成MyThread的成员变量,SetLength(gnbufferX,1024)在MyThread创建时就设置好 7、ShowData中需要使用gnbuffer,因此你可以在MyThread中将gnbufferX当成属性发布 8、其实MyThread中有保护方法Synchronize,可以直接同步到主线程调用,因此你可以不用发消息,而将ShowData作为MyThread的成员方法,用Synchronize进行调用就可以了
|
请发表评论