Re: Странная проблема с WindowProc контрола
От: Softwarer http://softwarer.ru
Дата: 17.08.04 06:58
Оценка: +2
Здравствуйте, GrayFace, Вы писали:

GF>Заменяю TControl.WindowProc. В своей процедуре вызываю др. процедуры своего объекта. Но во время работы моей виндовой процедуры она вызывается еще раз!! Как быть? (обрабатваться должно последовательно)


Хм. Писать в коде то, что хочешь получить

"Само" ничего не происходит. Если процедура окна вызвана — значит, либо была обработка очереди сообщений, либо кто-то воспользоваться SendMessage или аналогичной функциональностью. Сохраняя "свою" логику, ты можешь только не делать этого сам и не вызывать методов, которые это делают. Как вариант, если это тебе подойдет, можешь отлавливать вложенный вызов и вызывать старую процедуру окна, не пытаясь его обработать.

Другой вопрос, что в качестве оконной процедуры странно видеть нечто, что должно вызываться строго определенным образом. Обработчик событий, которым является процедура окна, должен быть готов к самым необычным вариантам вызовов — иначе получается программа, которая "иногда падает".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.