16.08.2005, 07:22 | #1 |
Участник
|
Как лучше передать переменную из одного метода в другой при условии, что...
Как лучше передать переменную из одного метода в другой при условии, что второй метод выглядит как main(Args args), то есть просто дописать main(Args args, boolean ex) как я понимаю не выйдет. Единственным ли и лучшим способом является использование глобальной переменной или есть другие споспобы. Я совсем новичок, поэтому застрял на такой, как вам наверное покажется, ерунде.
|
|
16.08.2005, 08:21 | #2 |
Участник
|
Все что нужно можно передать с помощью args
1) args.caller - здесь можно передавать вызываеющий объект, а потом уже получить от него все, что нужно. 2) args.parameters |
|
16.08.2005, 08:31 | #3 |
Участник
|
Простите, а можно чуть подробнее? У меня ситуация следующая: при клике кнопки на форме
void clicked() { ; ledgerJournalEngine.clearVoucher(); super();... на супер идет следующий вызов: public static void main(Args args) { VendSumForPaym vendSumForPaym; ; switch (args.dataset()) { case TableNum(LedgerJournalTrans) : vendSumForPaym = CustVendSumForPaym::newLedgerJournalTrans(SysModule::Vend, args.record()); break;... я должен задать необходимый параметр в форме, каким образом? |
|
16.08.2005, 09:16 | #4 |
Участник
|
Решилось все просто. Смотрю на название кнопки нажатой, если это необходимая кнопка, то флаг делаю true:
public static void main(Args args) { VendSumForPaym vendSumForPaym; boolean ex; Object callForm = args.caller(); FormFunctionButtonControl ffbc = callForm.selectedControl(); ; if(ffbc.name() == "ИмяКнопки") ex = true; else ex = false; |
|
16.08.2005, 09:24 | #5 |
Участник
|
Цитата:
Смотрю на название кнопки нажатой, если это необходимая кнопка, то флаг делаю true:
1) Не понял, как это помогло в передаче параметра 2) Сама по себе не очень удачная идея. |
|
16.08.2005, 09:28 | #6 |
Участник
|
Я просто наверное не полностью описал ситуацию изначально. Необходимая переменная и должна нести информацию, одна либо другая кнопка нажата, исходя из этого идет последующая обработка...
|
|
16.08.2005, 09:40 | #7 |
Участник
|
Цитата:
Изначально опубликовано AK9
Я просто наверное не полностью описал ситуацию изначально. Необходимая переменная и должна нести информацию, одна либо другая кнопка нажата, исходя из этого идет последующая обработка... лучше использовать enumparametr, если он не занят, конечно. |
|
16.08.2005, 09:46 | #8 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано AK9
Необходимая переменная и должна нести информацию, одна либо другая кнопка нажата, исходя из этого идет последующая обработка... PHP код:
|
|
16.08.2005, 10:07 | #9 |
Участник
|
Да, действительно, так пожалуй будет более грамотно. Так и сделаю. Спасибо Rokhay
и Ruff! |
|
16.08.2005, 15:47 | #10 |
Участник
|
2AK9
я должен задать необходимый параметр в форме, каким образом?
Через метод (функцию) формы или кнопки, как хотите.. только вызывать придется через args.caller().owner().yourMethod() или args.caller().yourMethod() соответственно, что плохо по причине невозможности проверки существования метода yourMethod() на этапе компиляции. MBS стандартно для таких вещей делает следующее: в дополнение к форме создается класс, который управляет визуализацией контролов формы. Вот на нем и надо было бы делать такой метод. Тогда вызов осуществлялся бы как yourClassVar = args.object(); yourClassVar.yourMethod(). В данном случае Аксапта сможет проверить у класса yourClass наличие метода yourMethod. Это общий подход. |
|
Теги |
args, menuitem, передача параметров |
|
|