回 帖 发 新 帖 刷新版面

主题:在线程函数中如何使用VCL控件?

我用以下方法编写了一个线程函数(用于和外设通信):
void CommThread(void *threadno)
{
      .......
      .......
      edtSUAM_Rev->Text=strtemp;  注:这是窗体上的一个VCL控件

}
其中有一些访问窗体上VCL控件的语句,但是编译就通不过,显示没有定义这些控件名称。但在其它事件函数为何能够访问?(如时间Timer函数等)

回复列表 (共3个回复)

沙发

访问类属性,函数的要加类变量名。

板凳

问题说得不是太清楚,可能是多线程类中没加主窗口的Unit.h。
如果你的主窗口类是Unit1.h,多线程类是Unit2.h,请在Unit2.cpp中添加#include "Unit1.h",这样多线程函数就会认识主窗体的VCL控件了。

3 楼

我没有使用类似Unit2.cpp来定义一个多线程类,而是用:在主窗体中定义一个线程函数,然后去调用这个函数。

我来回复

您尚未登录,请登录后再回复。点此登录或注册