Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > VB6 > как сделать в ms vb6 асинхронные события? |
Автор: leniviy 9.7.2004, 18:27 |
надо, чтобы событие вызывалось аналогично таймеру или ExecuteComplete в ADO. |
Автор: Guest 9.7.2004, 22:07 |
leniviy, поподробнее пожалуйста |
Автор: leniviy 11.7.2004, 00:00 |
Конкретно, мне надо реализовать в проге событие ApplicationOnIdle ( по аналогии с VCL ). Я пробовал ставить хук на WH_FOREGROUNDIDLE из callback ф-ции вызывать событие, но при этом появились всякие глюки. например, при отладке зависает. |
Автор: arilou 15.7.2004, 12:54 | ||
Вообще, VB - это однопоточный язык, и там многое сделано для того, чтобы _не_ дать программеру его обмануть ![]() Можно сделать ActiveX биб-ку, в которой будет метод для установки указателя на callback. Этот метод будет запускать Timer, и по таймеру дергать callback. В VB в модуле определяешь callback-функцию, и передаешь ее через AddressOf Что-то типа:
Думается мне, что в методе CallbackProc лучше брейкпоинтов не ставить ![]() |
Автор: boevik 15.7.2004, 13:15 | ||||
Как запустить функцию CallbackProc из Start в классе MyTimer? |
Автор: arilou 15.7.2004, 13:33 | ||||||||
Сорри, я не добавил, что ActiveX биб-ку надо писать на ATL C++ и использовать там Win API: Вот кусок кода:
|
Автор: leniviy 16.7.2004, 15:55 |
Пожалуй, это слишком сложно. Раз так, возьму VB'шный таймер и буду из его события вызывать свои |