TThread::Execute - C++ Builder

2020-05-29  本文已影响0人  玄坴

C++ Builder 参考手册TThreadExecute


头文件:#include <System.Classes.hpp>
命名空间:System::Classes
类:TThread
访问权限:protected:
函数原型:

virtual void __fastcall Execute(void) = 0;

System::Classes::TThread::Execute 是 System::Classes::TThread 的纯虚成员函数,是这个线程类的线程函数,子类必须重载实现这个函数。

参数:

无。

返回值:

无。


例子:点击按钮 Button1 创建并且执行线程,在线程里面,每隔 200 毫秒在 Form1->Label1 上依次输出 1 ~ 10 的整数,线程结束时线程对象自动销毁。

由于在线程里面,不能直接处理显示,所以用 Synchronize 方法调用处理显示的函数,这样处理显示的函数会同步在主线程里面运行。

class TTestThread : public System::Classes::TThread
{
public:
    __fastcall TTestThread();
protected:
    void __fastcall Execute(void);
private:
    int _iProgress;
    void __fastcall ShowProgress(void);
};

__fastcall TTestThread::TTestThread()
    : System::Classes::TThread(true)
{
    FreeOnTerminate = true;
}

void __fastcall TTestThread::Execute(void)
{
    for(_iProgress=1; _iProgress<=10; _iProgress++)
    {
        Synchronize(ShowProgress);
        Sleep(200);
    }
}

void __fastcall TTestThread::ShowProgress(void)
{
    Form1->Label1->Caption = _iProgress;
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TTestThread *lpThread = new TTestThread;
    lpThread->Start();
}
Form1 上放一个 Label1 和一个按钮 Button1

运行结果:

运行结果

参考:


C++ Builder 参考手册TThreadExecute

上一篇下一篇

猜你喜欢

热点阅读