TThread::SetReturnValue - C++ Builder

C++ Builder 参考手册 ➙ System::Classes ➙ TThread ➙ SetReturnValue


头文件:#include
命名空间:System::Classes
类:TThread
访问权限:public:
函数原型:

static void __fastcall SetReturnValue(int Value);

SetReturnValue 是 System::Classes::TThread 的静态成员函数,在线程外部设置当前线程的 ReturnValue 属性的值。

参数:

Value:要把前线程的 ReturnValue 属性的值设为 Value。

返回值:

无。

  • 用这个方法在线程外部设置当前线程的 ReturnValue 属性的值,如果在线程内部,需要直接写 ReturnValue 属性;
  • 只有内部创建的线程可以调用这个方法,即在 Execute 方法里面调用的函数里面可以调用,外部创建的线程调用这个方法会抛出异常,用 CreateAnonymousThread 方法创建的匿名线程里面调用会抛出异常。

例子:在线程里面调用了一个全局函数,全局函数里面调用了 SetReturnValue 方法设置了 ReturnValue 属性的值。

void MyFunc(void)
{
    for(int i=0; i<100; i++)
        Sleep(10);
    TThread::SetReturnValue(112233);
}

class THsuanluThread : public TThread
{
protected:
    void __fastcall Execute(void)
    {
        MyFunc();
    }
};

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    THsuanluThread *lpThread = new THsuanluThread;
    ShowMessage(lpThread->WaitFor());
    delete lpThread;
}

运行结果:

测试 TThread::SetReturnValue 运行结果

参考:

  • System::Classes::TThread::ReturnValue
  • System::Classes::TThread::WaitFor
  • System::Classes::TThread::Execute
  • System::Classes::TThread::CreateAnonymousThread
  • System::Classes::TThread
  • System::TObject
  • VCL 类继承关系

C++ Builder 参考手册 ➙ System::Classes ➙ TThread ➙ SetReturnValue

你可能感兴趣的:(TThread::SetReturnValue - C++ Builder)