|
16.03.2009, 07:45 | #1 |
Участник
|
Вызов стандартного диалога перед формой.
Уважаемое сообщество! Подскажите пож-та, можно ли вызвать стандартный диалог перед вызовом формы и как это сделать правильно.
|
|
16.03.2009, 07:53 | #2 |
MCITP
|
Цитата:
Форма откроется только после того как пользователь обработает диалог.
__________________
Zhirenkov Vitaly |
|
16.03.2009, 08:13 | #3 |
Участник
|
2ZVV Можно конечно, на методи Init() формы например вызвать стандартный диалог
А как добраться до методов getFromDialog & validate диалога? И как сам диалог вызвать правильно? Извините, если это очевидно. |
|
16.03.2009, 09:00 | #4 |
Участник
|
Цитата:
Например, см. Classes\Tutorial_RunbaseBatch Вызвать "правильно". Наверное, все же вызывать диалог перед открытием формы - не будет вообще идеологически правильным, но тут нужно смотреть, что у Вас за задача. А вообще один из способов запуска RunBase класса Вы можете увидеть в методе main вышеуказанного же класса. |
|
16.03.2009, 14:42 | #5 |
Участник
|
Спасибо всем, принявшим участие. Через init формы вобщем то его уже и вызвал ранее, но ведет он себя как то коряво. Да и методов getFromDialog , validate там не наблюдается, да и нет уверенности, что так делать законно. Попробую через наследников RunBase. А диалог нужен чтобы отсечь кое какие варианты при вызове таблицы на форму. Альтернативно можно на этой же форме прописать нужные параметры и обновлять форму в соответствии с их значениями. Но, кажется, стандартный диалог здесь был бы более уместен. Спасибо.
|
|
16.03.2009, 08:57 | #6 |
MCTS
|
Можно, например, создать свой класс как обычно наследованный от RunBase, а в нем создавать диалог. Тогда можно легко добраться до любого метода:
X++: public void init() { // можно объявить в ClassDeclaration, тогда диалог будет доступен из любого метода формы Tutorial_RunBaseForm runBase = new Tutorial_RunBaseForm(); ; // в этом случае getFromDialog и validate отработают сами. if (runBase.prompt()) runBase.run(); super(); info(runBase.parmCustAccount()); } |
|
16.03.2009, 09:00 | #7 |
Участник
|
Цитата:
dialog = new Dialog("Диалог");
if(dialog.run() && dialog.closedOk()) например так можно, если не хотите вызывать класс, наследник RunBaseBatch
__________________
Существует 10 типов людей: одни понимают двоичную систему, другие - нет. |
|
16.03.2009, 20:23 | #8 |
Модератор
|
Я бы написал класс-обертку.
Так идеологически правильно. С Уважением, Георгий |
|
|
За это сообщение автора поблагодарили: pwp (1). |