Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
19.08.2008, 18:47
|
|||
---|---|---|---|
|
|||
Работа таймера во время выполнения кода OCX |
|||
#18+
Всем привет. Есть таймер, который отслеживает состояние флага и, если надо, делает определенные действия, в зависимости от значения этого флага. Это флаг - свойство объекта (OCX), посредством которого осуществляется управление устройством. В зависимости от состояния устройста меняется значение флага. OCX написан на VB. Нюанс в том, что работа метода объекта OCX может затянуться на некоторое время и в процессе работы меняется значение флага. А таймер не срабатывает в это время, а только по завершении работы метода он начинает в холостую (судя по логу) отрабатывать столько раз, сколько его событий набежало за это время. А надо чтобы ВО ВРЕМЯ РАБОТЫ метода он смог среагировать на изменение флага и т.п. AutoYield = .t. Понимаю, что это обычное дело - поставить в очередь, а потом выполнять, но надо чтобы была параллельность (асинхроность) ;( Причем, если в OCX поставить MsgBox при изменении флага, то его появление вызывает срабытывание таймера - то есть то, что надо. Вот только сообщение мне на экране не надо. Если ли какой способ инициировать срабатывание таймера ВО ВРЕМЯ работы метода OCX? PS сорри за путанность объяснения ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.08.2008, 21:03
|
|||
---|---|---|---|
Работа таймера во время выполнения кода OCX |
|||
#18+
Фокс однопоточный. События таймера отрабатываются если прога простаивает (ждет действий пользователя), т.е. если код молотит 5 сек., а таймер поставлен раз в секунду, то по окончанию работы кода таймер отработает 5 раз подряд. Этого можно избежать если в коде периодически вызывается команда DOEVENT. Команда естественно фоксовая, чтобы использовать в твоем OCXе сделай там какой-нибудь callback метод, вызывай в VB его постоянно, а в фоксе туда пропиши DOEVENT ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1587368]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 322ms |
total: | 476ms |
0 / 0 |