Вниз
Скачать: 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.024 c
14-1131691444
pasha_golub
2005-11-11 09:44
2005.12.04
Перенос настроек и компонентов Delphi на другую мащину


14-1132033296
syte_ser78
2005-11-15 08:41
2005.12.04
Приношу свои извинения модераторам раздела "Базы".


14-1131695823
Mike Kouzmine
2005-11-11 10:57
2005.12.04
Рыжков выполняет свои обещания...


1-1131070651
Andreika_
2005-11-04 05:17
2005.12.04
dll + xml = Debugged Fault Notification


9-1121759123
NewWonder
2005-07-19 11:45
2005.12.04
Выделение в OpenGL




   Наверх