AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 27.08.2009, 17:21   #1  
Максим Gall ist offline
Максим Gall
Участник
 
6 / 12 (1) ++
Registriert seit: 17.07.2009
открытие формы из кода X++
FormRun form;
;

form=ClassFactory.formRunClass(new Args(formstr(имя формы)));
form.init();
form.run();
form.detach();

Потратил час чтоб найти,может кому пригодиться
This post has been rated by: rusalaudinov (1), Alexx7 (1).
Alt 27.08.2009, 17:24   #2  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
А ведь достаточно было просто зайти в Developers Guide...

Zitat:
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

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.
Alt 27.08.2009, 17:44   #3  
Максим Gall ist offline
Максим Gall
Участник
 
6 / 12 (1) ++
Registriert seit: 17.07.2009
Я вас понял,спасибо.
Но сделаем небольшой акцент на эту строчку
X++:
form.detach();
Без неё форма не откроется.
Alt 27.08.2009, 17:50   #4  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Не "не откроется", а "откроется и закроется".
Alt 27.08.2009, 18:01   #5  
oip ist offline
oip
Axapta
Лучший по профессии 2014
 
2.564 / 1416 (53) ++++++++
Registriert seit: 28.11.2005
Blog-Einträge: 1
Ну и еще. Не забывайте про поиск по форуму.

почему форма сразу закрывается ?
Вызов формы из сода X++
Вызов формы из класса
Запуск формы
И снова как закрыть форму?
Вызов формы
...

PS Я это не к тому, что вы тему зря создали. Не поймите неправильно. Я подсказываю, как не тратить час времени на подобные вопросы.
Alt 27.08.2009, 19:10   #6  
DSPIC ist offline
DSPIC
Боец
 
1.077 / 1243 (44) ++++++++
Registriert seit: 11.04.2008
Zitat:
Zitat von Максим Gall Beitrag anzeigen
Я вас понял,спасибо.
Но сделаем небольшой акцент на эту строчку
X++:
form.detach();
Без неё форма не откроется.
Тут могут быть 2 варианта:

form.wait(); или form.detach();

В 1м случае, выполнение кода остановится на строке form.wait() до тех пор, пока вызываемую форму пользователь не закроет. Используется, когда нельзя закрывать вызывающую форму, пока не закроется вызываемая.

Во 2м случае - форма вызывается в "Отвязанном" режиме, и строка form.detach(); не препятствует дальнейшему выполнению кода.
This post has been rated by: Logger (2), Максим Gall (1).
Alt 28.08.2009, 11:55   #7  
mazzy ist offline
mazzy
Участник
Benutzerbild von mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29.472 / 4494 (208) ++++++++++
Registriert seit: 29.11.2001
Ort: Москва
Blog-Einträge: 10
Zitat:
Zitat von Максим Gall Beitrag anzeigen
FormRun form;
;

form=ClassFactory.formRunClass(new Args(formstr(имя формы)));
form.init();
form.run();
form.detach();

Потратил час чтоб найти,может кому пригодиться
Максим, перестаньте публиковать антипаттерн.

никогда не вызывайте формы через classfactory. в этом случае вы теряете возможность контроля прав доступа на форме.

вызывайте только через menuItem.
__________________
полезное на axForum, github, vk, coub.
This post has been rated by: oip (1).
Stichworte
menuitem, запуск, как правильно, открыть форму, программно, форма

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Открыть дизайн формы в режиме Edit из кода arnold DAX: Программирование 11 27.11.2008 16:20
Открытие формы с MouseDoubleClick из другой формы Dima_Dima DAX: Программирование 18 19.11.2008 23:22
Открытие формы из класса Акавешка DAX: Программирование 2 11.01.2007 13:39
Программное открытие формы строк журнала переноса ViV DAX: Программирование 13 09.11.2005 13:16
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 02:31 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.