Уважаемые господа, мож кто сталкивался:
winXP, laz 0.9.26
Есть два потока (основное приложение + вспом поток (работа с компортом)). Не могу синхрануть данные из второго потока. При том, что обмен данными с перифирийным устройством идет в других ветвях программы - все ок.
Затык получился при передаче значений двух интов из массива данных основного потока (буфер входных данных в основном потоке) в инты основного же потока в функции вспом потока (который синхрится с основным потоком истественно). После приравнивания этих интов вполне конкретным значениям, они в основном потоке = 0 (введение дополнительных sleep'ов не катит).
В основном потоке есть цикл repeat-until который крутиться до получения флажка о готовности данных. Флажек встает, доходим до разборки полученных данных - они нулевые (не приравненны фактическим значениям). Если же я в дибаг целях ввожу application.messagebox для вывода этих переменных, то опять в мессджбоксе вижу их 0/0, но после нажатия ок, они принимают положенные значения
Ткните носом чего я делаю не так или где глюк?