__fastcall dev_exch::dev_exch(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
...
extern void To_Tab2_1(void);
...
void __fastcall dev_exch::TH_To_Tab2_1()
{
To_Tab2_1();
}
...
void __fastcall dev_exch::Execute()
{
//---- Place thread code here ----
FreeOnTerminate=true;
begin_task:
if(Terminated){
return;
}
...
if(Task.Task_Get_AllParam==1){
Task.Task_Get_AllParam=0;
...
Synchronize(TH_To_Tab2_1);//
}
;
goto begin_task;
}
Synchronize внутри функции в потоке
Вот так работает:
Код:
и еще строчка в хедере:
Код:
class dev_exch : public TThread
{
private:
protected:
void __fastcall Execute();
public:
__fastcall dev_exch(bool CreateSuspended);
void __fastcall dev_exch::TH_To_Tab2_1(void);
...
};
{
private:
protected:
void __fastcall Execute();
public:
__fastcall dev_exch(bool CreateSuspended);
void __fastcall dev_exch::TH_To_Tab2_1(void);
...
};
Но, если строчка
Код:
Synchronize(TH_To_Tab2_1);//
окажется внутри функции, то при компиляции возникает ошибка: неизвестная функция Synchronize.
Можно ли победить? Или все тащить наружу из функций?