Показать сообщение отдельно
Старый 04.05.2011, 17:06   #10  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
;)
Разобрался однако

В \Forms\SysProjectFilter\Designs\Design\[Group:BottomGrp]\[ButtonGroup:ButtonGroup]\CommandButton:Ok\Methods\clicked
X++:
void clicked()
{
    element.build();

    super();
}
==> вызывается element.build();
X++:
void build()
{
    element.closeOk();
}
==> в closeOk вызывается super который закрывает форму.
X++:
void closeOk()
{
    if (element.runBase().checkCloseDialog())
        super();
}
после закрытия формы в clicked вызывается super() который меняет состояние
dialogCanceled = !dialog.closedOk(); из \Classes\RunBase\promptPrim

Получается, что нажав "Ок" в итоге dialogCanceled = true и форма закрывается.

Super(); из \Forms\SysProjectFilter\Designs\Design\[Group:BottomGrp]\[ButtonGroup:ButtonGroup]\CommandButton:Ok\Methods\clicked
В \Classes\Info\formNotify стр. 15 на break; проваливается \Classes\SysSetupFormRun\task стр. 22 (где _p1 = 263)
Тут и совершается глюк, который изменит значение dialog.closedOk()


Решение:
В \Forms\SysProjectFilter\Designs\Design\[Group:BottomGrp]\[ButtonGroup:ButtonGroup]\CommandButton:Ok\Methods\clicked
X++:
void clicked()
{
    element.build();

    ///super();           - ну его нафиг, без него нормально работает.
}
P.S. Спасибо всем. Вопрос закрыт.
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
За это сообщение автора поблагодарили: mazzy (2), AlGol (2), Ansi (0), RVS (3), Logger (4), Ar (1), Daiver (1), titov (2), propeller (1).