- TThread::SetReturnValue - C++ Bu
- TThread::ExternalThread - C++ Bu
- TThread::FatalException - C++ Bu
- TThread::GetSystemTimes - C++ Bu
- TThread::ProcessorCount - C++ Bu
- TThread::~TThread - C++ Builder
- TThread::TThread - C++ Builder
- TThread::NameThreadForDebugging
- TThread::Suspended - C++ Builder
- TThread::Terminate - C++ Builder
C++ Builder 参考手册 ➙ System::Classes ➙ TThread ➙ SetReturnValue
头文件:#include <System.Classes.hpp>
命名空间: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
网友评论