AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.03.2010, 17:57   #1  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
? Свойство SaveSize игнорируется при открытии формы из кода
На дизайне формы свойство SaveSize = Yes.
Если открывать форму из AOT или посредством menu item, она открывается с правильным, сохраненным размером.
Если открывать следующим образом из кода, SaveSize игнорируется.
X++:
static void Job13(Args _args)
{
    Args    args    = new Args(formstr(Form1));
    FormRun fr      = new FormRun(args);
    ;

    fr.init();
    fr.run();
    fr.detach();
}

Я что-то делаю не так?
Старый 29.03.2010, 18:04   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Constructing a form from your X++ code
When you construct a form from your X++ code, you must use the system classes.

Your code lines should look similar to the following
X++:
form = ClassFactory.FormRunClass(formstr(CustTable));
form.init();
form.run();
ClassFactory is an object of the class xClassFactory that holds the method FormRunClass that returns a new FormRun object.

The idea of using this indirection is to make it possible to inherit the FormRun class and override selected methods to change the behavior of the form executor. Subsequently, you can have all forms in the system executed with the new class instead of the ordinary FormRun by supplying the inherited class in the FormRunClass() method.

The system constructs all forms activated from the Application Object Tree using the xClassFactory.
За это сообщение автора поблагодарили: Hyper (1), alex55 (1).
Старый 29.03.2010, 18:26   #3  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Thumbs up Помогло
Цитата:
Сообщение от oip Посмотреть сообщение
When you construct a form from your X++ code, you must use the system classes.
ClassFactory is an object of the class xClassFactory that holds the method FormRunClass that returns a new FormRun object.
Спасибо за помощь!
X++:
FormRun fr = ClassFactory.FormRunClass(args);
Старый 29.03.2010, 18:05   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Неожиданное поведение.
По-моему самый правильный способ - это через меню итем открывать, даже при использовании из кода.

В вашем случае еще права доступа будут проигнорированы.
Старый 29.03.2010, 18:33   #5  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Цитата:
Сообщение от Logger Посмотреть сообщение
По-моему самый правильный способ - это через меню итем открывать, даже при использовании из кода.
В вашем случае еще права доступа будут проигнорированы.

Для данной формы права доступа неактуальны.
При использовании menu item нет возможности вызывать методы на форме. Например:

X++:
    Args    args;
    FormRun fr;
    Object  o;
    ;

    args = new Args(formstr(Form1));
    fr = ClassFactory.FormRunClass(args);

    if (formHasMethod(fr, identifierstr(parmCoolInfo)))
    {
        fr.run();
        fr.wait();

        if (fr.closedOk())
        {
            o = fr;
            coolVariable = o.parmCoolInfo();
        }
Старый 29.03.2010, 19:45   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Hyper Посмотреть сообщение
Для данной формы права доступа неактуальны.
При использовании menu item нет возможности вызывать методы на форме. Например:
Кто сказал?

ObjectRun menuFunction.create(Args)
http://msdn.microsoft.com/en-us/library/aa612274.aspx
За это сообщение автора поблагодарили: Hyper (1).
Старый 29.03.2010, 19:55   #7  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Цитата:
Сообщение от kashperuk Посмотреть сообщение
menuFunction.create(Args)

Действительно, глупости говорю.
Теги
настройка формы

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
открытие формы из кода X++ Максим Gall DAX: Программирование 6 28.08.2009 11:55
Открыть дизайн формы в режиме Edit из кода arnold DAX: Программирование 11 27.11.2008 16:20
Подставлять "ранее использованный запрос" при открытии формы Plushy DAX: Функционал 4 16.01.2006 16:23
Как заполнить StringEdit при открытии формы SSlavon DAX: Программирование 11 13.04.2005 17:02
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:49.