25.06.2007, 12:48 | #1 |
Участник
|
как передать значение из диалога в форму, вызываемую через menuItem?
Привет всем!
Подскажите, пожалуйста, очень надо ! Проблема в следующем: 1) есть класс, в нем перекрыт метод dialog(), в котором программно на диалоговом окне задается контрол control1 и menuItemButton button1. 2) Пользователь вводит в контроле control1 значение и нужно, чтобы при нажатии на кнопку button1 открылась форма с параметрами введенного значения. как передать в форму (form1) значение контрола control1? пробовала через args(), но либо что-то не так делаю, либо подход неправильный - не получается. помогите, плз, бьюсь третий день заранее спасибо! |
|
25.06.2007, 13:10 | #2 |
Участник
|
А как создается MenuItem для указанного menuItemButton?
|
|
25.06.2007, 13:14 | #3 |
Участник
|
Оно?
addMenuItemButton |
|
|
За это сообщение автора поблагодарили: алька (1). |
25.06.2007, 13:21 | #4 |
Участник
|
да, именно так, через dialog.addMenuItemButton(...)
|
|
25.06.2007, 13:33 | #5 |
Участник
|
Вот собственно в том посте все Lemming и описал.
И пример есть. Просто в вызываемой форме нужно вызвать метод базового класса (в котором метод dialog) - метод этот должен возвращать нужное вам значение. А там уже его используете. |
|
25.06.2007, 13:56 | #6 |
Участник
|
спасибо большое!
только никак не могу понять, что это за метод caller_RU() в примере? посмотрела приаттаченный пример и все равно не осознала : callerDialog = _args.caller().caller_RU();? |
|
25.06.2007, 14:17 | #7 |
Участник
|
алька см. класс SysSetupFormRun
X++: // ANVA, Inventory Reports // Find RunbaseDialog class on child forms (or something else). // See \Classes\InventJournalPrintForm_RU\main method. Object caller_RU() { if ( ! this.args()) return null; return this.args().caller(); } p.s. А вот буржуи лишены этой возможности |
|
|
За это сообщение автора поблагодарили: алька (1). |
25.06.2007, 15:09 | #8 |
Участник
|
большое спасибо !!
|
|
25.06.2007, 16:43 | #9 |
Участник
|
Цитата:
Вместо строки X++: callerDialog = _args.caller().caller_RU(); X++: callerDialog = Dialog::getDialogFromCaller(_args.caller()); Просто русские локализаторы его не нашли. Ну, или не искали. |
|
|
За это сообщение автора поблагодарили: Lemming (2). |
25.06.2007, 16:46 | #10 |
Участник
|
Цитата:
Сообщение от kashperuk
Вместо строки
X++: callerDialog = _args.caller().caller_RU(); X++: callerDialog = Dialog::getDialogFromCaller(_args.caller()); Просто русские локализаторы его не нашли. Ну, или не искали. |
|