C++Builder

Вопросы программирования => Общие вопросы программирования в C++Builder => Тема начата: Sergey1985 от 26 Сентябрь 2018, 13:25:28



Название: Synchronize
Отправлено: Sergey1985 от 26 Сентябрь 2018, 13:25:28
Доброго времени суток. В классе TThread есть метод Synchronize. Как ее можно реализовать самому если я создаю поток при помощи WinAPI
DWORD WINAPI Thread_RxD_Func(LPVOID classPtr)

Использовать в проекте класс TThread уже не могу.


Название: Re: Synchronize
Отправлено: OVE от 27 Сентябрь 2018, 20:02:25
Как вариант, можно посылать сообщение главной форме (SendMessage или PostMessage), а в главной форме ловить его, и выполнять какие-то действия.


Название: Re: Synchronize
Отправлено: Hex от 06 Декабрь 2018, 21:24:17
Вот ведь велосипедист...
это каким раком надо поставить билдер, чтобы нельзя было TThread пользоваться?
и возможность слить свой код в DLL тоже никто не отменял, а там ваяй как и на чем хочешь.


Название: Re: Synchronize
Отправлено: S0mbre от 07 Февраль 2019, 13:59:26
Почистил, давайте без оскорблений )
По топику: Если строго WinAPI (а причины не использовать RTL могут быть разные, например ограничения выходного PE по размеру) - тогда и используйте винапишные мьютексы и иные объекты синхронизации (https://docs.microsoft.com/en-us/windows/desktop/sync/synchronization-objects). А вообще, TThread (RTL) является оберткой вокруг того же винапишного CreateThread... Плюс гораздо удобнее, ИМХО.




.....
..