Показать сообщение отдельно
Старый 04.09.2008, 19:26   #1  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
! Вызов метода element.args().caller().setOfficialsParams(....
Помогите прояснить почему параметры не передаются.

Есть форма Form1. На ней кнопка с вызовом другой формы OfficialsSelect. При нажатии этой кнопки форме той передаются параметры:
X++:
void clicked()
{
    Args        args;
    Object      formRun;
    OfficialsTrans_RU   officialsTrans;
    ;

    super();

    args = new Args();
    args.name(formstr(OfficialsSelect));
    args.caller(element);

    formRun = classfactory.formRunClass(args);

    formRun.init();
    formRun.run();
    formRun.wait();

    if (formRun.closedOk() && offName)
{......
по formRun.wait(); запускается форма. Проставляются пару параметров. и Ок.
Ок вызывает
X++:
public void closeOk()
{
    super();
    element.args().caller().setOfficialsParams(Position.selection(),/ Name.valueStr(), Title.valueStr());

}
но как я понял по трасировке вызов метода setOfficialsParams у Form1 не происходит.

X++:
void setOfficialsParams(OffPosition_RU _offPosition, Name _offName, TitleId _offTitle)
{
    offPosition = _offPosition;
    offName     = _offName;
    offTitle    = _offTitle;
       //  breakpoint;
}
и соотвественно условие if (formRun.closedOk() && offName) не отрабатывается.

Поле OffName обязательно должно заноситься.

Почему не вызывается метод element.args().caller().setOfficialsParams( .... ?