Показать сообщение отдельно
Старый 22.02.2012, 10:30   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
там дальше в коде, переменная form используется при инициализации formRun, а точнее передается в args в параметр object
X++:
args.object(form);
    args.caller(this);
    args.name(this.formName());

    // <GEEU>
    args.name(this.formName()); // this is for support of RU address format in CreditCardWizard form
    // </GEEU>
    formRun = classfactory.formRunClass(args);
если залезть в метод formRunClass класса classfactory, то там как раз можно увидеть использование параметра object класса args
X++:
if (args.name())
    {
        formName = args.name();
    }
    else if (args.object())
    {
        formRun = SysDictClass::as(args.object(), classnum(FormRun));
        if (formRun)
        {
            formName = formRun.name();
        }
    }
т.е. получается на основе класса form, тут строится класс FormRun и уже из него берется параметр name(). Предположу, что это и будет тот самый name().
Но это конечно отыгрывает только тогда когда у args не заполнено свойство name(), а оно в нашем случае будет заполнено (см код выше, первый блок). Более того, оно почему то заполняется дважды

P.S. в общем почитайте код, поразбирайтесь в нем, подебажте и скорее всего все прояснится
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: andrewK (1).