Здравствуйте, GrayFace, Вы писали:
GF>Заменяю TControl.WindowProc. В своей процедуре вызываю др. процедуры своего объекта. Но во время работы моей виндовой процедуры она вызывается еще раз!! Как быть? (обрабатваться должно последовательно)
Хм. Писать в коде то, что хочешь получить
"Само" ничего не происходит. Если процедура окна вызвана — значит, либо была обработка очереди сообщений, либо кто-то воспользоваться SendMessage или аналогичной функциональностью. Сохраняя "свою" логику, ты можешь только не делать этого сам и не вызывать методов, которые это делают. Как вариант, если это тебе подойдет, можешь отлавливать вложенный вызов и вызывать старую процедуру окна, не пытаясь его обработать.
Другой вопрос, что в качестве оконной процедуры странно видеть нечто, что должно вызываться строго определенным образом. Обработчик событий, которым является процедура окна, должен быть готов к самым необычным вариантам вызовов — иначе получается программа, которая "иногда падает".