主题:[原创]线程通信的问题咨询(高手请进)!急!!
我把源码贴到这里。先介绍一下几个文件的关系:
[b]
Unit1.h以及Unit1.cpp [/b]
该文件是一个窗体,这个窗体上包含TButton控件和TEdit控件。按TButton空间的时候,循环三次,创建、执行、销毁TMyThread对象。
[b]Unit2.h以及Unit2.cpp [/b]该文件定义一个线程类TMyThread,该类里有一个指针,指向Unit1中的TEdit控件,线程类里不断去修改TEdit控件的Text,线程运行10s的时候线程终止。
[b]Unit3.h以及Unit3.cpp [/b]
该文件里定义一个全局变量TEvent。Unit1里的TButton的响应函数里去初始化该对象,并将其设置为nonsignal状态,而这个变量的状态的激活是在线程TMyThread结束的时候。这样,Unit1根据这个事件去执行下面的操作。
[b]补充一下:
我单步执行代码的时候,第一次循环是正常的,但是第二次循环的时候就出问题了:
程序跟着跟着就不知道跑哪里去了!
我用的环境是:XP + CB6.0[/b]
[b]
Unit1.h以及Unit1.cpp [/b]
该文件是一个窗体,这个窗体上包含TButton控件和TEdit控件。按TButton空间的时候,循环三次,创建、执行、销毁TMyThread对象。
[b]Unit2.h以及Unit2.cpp [/b]该文件定义一个线程类TMyThread,该类里有一个指针,指向Unit1中的TEdit控件,线程类里不断去修改TEdit控件的Text,线程运行10s的时候线程终止。
[b]Unit3.h以及Unit3.cpp [/b]
该文件里定义一个全局变量TEvent。Unit1里的TButton的响应函数里去初始化该对象,并将其设置为nonsignal状态,而这个变量的状态的激活是在线程TMyThread结束的时候。这样,Unit1根据这个事件去执行下面的操作。
[b]补充一下:
我单步执行代码的时候,第一次循环是正常的,但是第二次循环的时候就出问题了:
程序跟着跟着就不知道跑哪里去了!
我用的环境是:XP + CB6.0[/b]