Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.04;
Скачать: 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 вся ветка

Текущий архив: 2005.12.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
14-1131628465
ASScef
2005-11-10 16:14
2005.12.04
Чем смотреть имена в DLL


4-1128064513
nevalex
2005-09-30 11:15
2005.12.04
КАК МНЕ ОРГАНИЗОВАТЬ МНОГОПОТОЧНЫЙ ПОИСК


2-1132341339
AuBaH
2005-11-18 22:15
2005.12.04
проблема с кнопками


1-1131374408
IgorOKey
2005-11-07 17:40
2005.12.04
Indy POP3: как сохранить приатаченный файл с русским именем


3-1129894123
lra
2005-10-21 15:28
2005.12.04
как реализовать выбор каждой записи из таблицы.