Показать сообщение отдельно
Старый 28.09.2009, 10:56   #7  
s.alex is offline
s.alex
Участник
 
28 / 10 (1) +
Регистрация: 07.06.2007
Цитата:
Сообщение от ta_and Посмотреть сообщение
1) На форме создать public метод. Например barCode()
2) В классе для приема выбранного значения использовать переменную типа object

X++:
    object obj;
    ;
        // Более одного ШК
        args = new Args();
        args.name(formStr(FRM_BarCodePlusInvent));
        args.parm(_itemBarCode);
        formrun = ClassFactory.formRunClass(args);
        formrun.init();
        formrun.run();
        formRun.wait();
        obj = formRun;
        barCode = obj.barCode();
Дело в том, что если переменную formRun типизировать типом FormRun, то компилятор не даст вызвать метод, не объявленный в интерфейсе класса FormRun.
Для переменной типа object такие ограничения сняты. Для таких переменных компилятор использует механизм позднего связывания и в момент выполнения ищет необходимый метод в уже созданном реальном объекте, находящемся в этой переменной.
ЗАРАБОТАЛО!!!!
Спасибо.