Вниз
Скачать: 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-1131709129
Макс1
2005-11-11 14:38
2005.12.04
ОС Singularity


14-1131596363
Silvestr
2005-11-10 07:19
2005.12.04
Нежен компонент для вывода списка всего оборудования


1-1131442637
diwww
2005-11-08 12:37
2005.12.04
Форму в нижний равый угол


2-1131952997
Wolferio
2005-11-14 10:23
2005.12.04
ShellListView i OleContainer


14-1131687761
SPeller
2005-11-11 08:42
2005.12.04
Интересно, когда закончится этот русский идиотизм?




   Наверх