Вниз
Скачать: CL | DM;

Как запретить обработку сообщения, если объект уже Destroy ?   Найти похожие ветки 

← →
greyserg   (2005-05-12 21:02) [0]

есть компонент , отображающий html документы

есть обработчик нажатия scroll кнопки и дальнейшего перемещения курсора (делаю SendMessage своего сообщения WMMouseScroll в mousеmove, если нажата средняя кнопка)
 
дело в том что, в процедуре обработки  сообщения WMMouseScroll цикл
который проверяет состояние нажатия scroll кнопки и не нажаты ли другие кнопки (клавиши)
а также в цикле есть Application.ProcessMessages; - для того чтобы отображался скроллируемый текст

делаю Free объекту , а  процедура обработки сообщения WMMouseScroll все еще пытается обработать сообщение и вываливается Access Violation

можно ли как-нибудь в destroy запретить обработку сообщения WMMouseScroll ?


← →
VMcL ©   (2005-05-12 21:22) [1]

>>greyserg   (12.05.05 21:02)

>а также в цикле есть Application.ProcessMessages

Это неправильно.


← →
greyserg   (2005-05-13 10:40) [2]

>VMcL

а как правильно ? Application.ProcessMessages нужно, чтобы моя обработка сообщения  WMMouseScroll не занимало всё процессорное время,а обрабатывались другие сообщения , WM_PAINT и т.д.

Кто-нибудь делал авто скроллинг при нажатом колесике ?

Мастера, помогите.


← →
Семен Сорокин ©   (2005-05-13 10:48) [3]

попробуй для отрисовки Update (или Invalidate) вместо Application.ProcessMessages.

Еще как вариант использовать PostMessage(handle, CM_RELEASE, ...) вместо Free


← →
Style ©   (2005-05-13 10:59) [4]

>>дело в том что, в процедуре обработки  сообщения >>WMMouseScroll цикл
>>который проверяет состояние нажатия scroll кнопки и не нажаты >>ли другие кнопки (клавиши)

Может стоит вынести проверку в отдельный поток?
и из WMMouseScroll делать PostMessage твоему потоку.
На Destroy придется дождаться его завершения или вырубить его.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
2-1132257447
illy
2005-11-17 22:57
2005.12.04
Реестр API


3-1129638648
Kor
2005-10-18 16:30
2005.12.04
Как перенисти БД с использованием BDE?


2-1132160196
Era
2005-11-16 19:56
2005.12.04
Сервисы


14-1131801241
Kerk
2005-11-12 16:14
2005.12.04
Купил FIFA Manager 2006


14-1131966308
DiamondShark
2005-11-14 14:05
2005.12.04
И снова о музыке.




   Наверх