Maverick-у
Сначало Вы написали о том, команды после putCommand не должны выполняться. ( с чего вобщем то и начался разговор). Потом вдруг написали, что не чистится стек и это ошибка (в принципе я и сам сомневался чистится он или нет).
Но на самом деле стек не должен чиститься при вызове другого окна. Просто события этого окна не должны МОЖЕТ БЫТЬ выполняться в новом окне - это другое дело. Теоретически команды окна должны может быть висеть в стеке до тех пор, пока управление не будет возвращено в текущее окно. И при возврате управления они должны быть выполнены.
Т.е.
cmMyCommand1:
{....
....
putCommand(cmDefault);
runinterface(.....);
...
}
cmDefault :
{
message('Вот я и дождался моего события!');
}
Сейчас событие cmDefault обрабатывается в запускаемом интерфейсе. Событие cmDefault текущего окна не будет выполнено.
По примеру. МОЖЕТ БЫТЬ (в чем я не уверен, что это правильно) событие cmDefault не должно обрабатываться в интерфейсе (чужем), а по окончанию обработки команды cmMyCommand выполнить обработчик cmDefault. МОЖЕТ БЫТЬ.
Хотя не факт, что это надо так делать.
Поэтому с уверенностью говорить, что это БАГ я бы не стал. Если при открытии интерфейса ВСЕ события будут чиститься - это тоже неверно.
С уваженеим, Игорь