P
Parabellum762
есть программа, на C++Builder 6 работает как часы. Перевожу её на 2006 - нужно кардинально поменять интерфейс.
Всё отлично, но в новой версии борланд поменял синтаксис (или не только синтаксис? ) Synchronize вызовов.
У меня раньше было написано так:
main.cpp:
int TMainForm::Function1(int arg)
{
// что-то делается
}
void TMainForm::MainForm()
{
CommPort->Function1 = Function1;
}
commport.cpp
void __fastcall TCommThread::Execute()
{
Synchronize(FuncCall1);
}
void TCommThread::FuncCall1(void)
{
if(Function1)
Function1(Var1);
}
commport.h
int (__closure *Function1)(int Arg);
int Var1;
Загрузил проект в 2006 - при компилировании выскаивает ошибка (на строку Synchronize(FuncCall1); )
Could mot find a match for 'TThread::Synchronize(void)'
Читал хелп, там сказано что в синхронизу надо передавать аргументом класс TThreadMethod.
Что за класс, с чем его жевать - разбираться абсолютно неохота... может, кто уже это делал, и у него есть готовый пример?...
Всё отлично, но в новой версии борланд поменял синтаксис (или не только синтаксис? ) Synchronize вызовов.
У меня раньше было написано так:
main.cpp:
int TMainForm::Function1(int arg)
{
// что-то делается
}
void TMainForm::MainForm()
{
CommPort->Function1 = Function1;
}
commport.cpp
void __fastcall TCommThread::Execute()
{
Synchronize(FuncCall1);
}
void TCommThread::FuncCall1(void)
{
if(Function1)
Function1(Var1);
}
commport.h
int (__closure *Function1)(int Arg);
int Var1;
Загрузил проект в 2006 - при компилировании выскаивает ошибка (на строку Synchronize(FuncCall1); )
Could mot find a match for 'TThread::Synchronize(void)'
Читал хелп, там сказано что в синхронизу надо передавать аргументом класс TThreadMethod.
Что за класс, с чем его жевать - разбираться абсолютно неохота... может, кто уже это делал, и у него есть готовый пример?...