Bupyc » 05.11.2009 14:35:53
Посмотри, задана ли переменная WakeMainThread. Она находится в модуле Classes. В ней должна храниться ссылка на метод объекта, который каким то образом дёргает главный поток приложения и передаёт ему ссылку на метод, который надо исполнить. Если она равна NIL, то Synchronize работать точно не будет. Если не NIL, то надо смотреть, ссылка на что лежит в WakeMainThread и как это всё работает.
Добавлено спустя 13 минут 13 секунд:
Я сталкивался с подобной ситуацией в Delphi. Synchronize перестаёт работать, если приложение не использует библиотеку VCL. В этом случае нужно делать некие телодвижения, что бы инициализировалась переменная WakeMainThread. Т.к. в заголовке своего сообщения, ты написал, что работаешь с WinXP, то можешь попробовать использовать мой модуль, который скорее всего решит твою проблему. Его нужно просто прикомпилировать к приложению добавив в секцию uses в *.lpr. Модуль писался для дельфей, но, думаю, что и в FPC он должен заработать без проблем.
У вас нет необходимых прав для просмотра вложений в этом сообщении.