我正在使用 C++ Builder 2010。我有一个运行良好的TThread::Synchronize
调用 - 一个线程函数调用Synchronize
并且运行良好。但是,如果我用它替换它TThread::Queue
会立即崩溃。
该版本的 C++ Builder 中是否存在特定错误或发生其他问题?
这是我用来调用主线程函数的函数:
void RunInMainThread(void(__closure *FuncToCall)(const __int64, const wchar_t), const __int64 fP1, const wchar_t fP2)
{
struct
{
private: typedef void(__closure *FTCdef)(const __int64, const wchar_t);
public: __int64 P1;
wchar_t P2;
FTCdef FTC;
void __fastcall ExecFunc()
{
FTC(P1,P2);
}
} Args = { fP1, fP2, FuncToCall };
TThread::Synchronize(NULL, &Args.ExecFunc);
//TThread::Queue (NULL, &Args.ExecFunc);
}
它调用的函数非常简单,它只是用一些文本更新工具栏,可能只有 2-3 行代码。