![]() |
#1 |
Участник
|
![]()
Есть метод, в конце идет команда retrun, надо еще выполнить несколько операций после return, возможно ли это?
|
|
![]() |
#2 |
Участник
|
Нет нельзя.
Странный вопрос. Не могли бы вы уточнить с чем он связан
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#3 |
Участник
|
Вообщем формирую отчет, вот кусок кода
this.initPrologSection(_reportId, _transDate, fromInventLocationName, fromActivityType, toInventLocationName, toActivityType); this.initTotalsSection(qtyTotal, grossWeightTotal, netWeightTotal, costAmountTotal); this.initTotalsTxtSection(_offSessionId, costAmountTotal); return xmlDocument; } } после return закрывается скобка цикла while, он выполняется один раз до return, мне необходимо сделать два отчета с разными строками. Методы this.initPrologSection,this.initTotalsSection,this.initTotalsTxtSection создают шапку и нижнюю часть отчета, если вынести return за цикл вот так this.initTotalsTxtSection(_offSessionId, costAmountTotal); } return xmlDocument; } методы this.initPrologSection,this.initTotalsSection,this.initTotalsTxtSection вообще не выполняются |
|
![]() |
#4 |
Участник
|
![]() Найди где и кем этот метод вызывается, и вставь код своих нескольких операций на следующей (!) строчке, после вызова метода. Каманда RETURN метода вернет управление и твой код обязательно исполниться....... Удачи.... |
|
![]() |
#5 |
Участник
|
Вызывайте метод дважды с разными параметрами.
Вообще как вы себе представляете возврат двух xmlDocument за один вызов return?
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от AndyD
Вообще как вы себе представляете возврат двух xmlDocument за один вызов return?
![]() |
|
![]() |
#7 |
Участник
|
Ага, учитывая что аксапту я вообще не знаю, сказали делать вот и мучаюсь
![]() |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от Protey
Ага, учитывая что аксапту я вообще не знаю, сказали делать вот и мучаюсь
![]() ))) а при чем здесь акса... исполнять что либо после команды return не умеет ни один язык... Для получения двух отчетов запускайте цикл его формирующий два раза... с разными параметрами. Надеюсь как передают параметры в методы Вы представляете.... |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от simply2double
))) а при чем здесь акса... исполнять что либо после команды return не умеет ни один язык...
![]() Просто другая логика, из-за которой можно было немного запутаться при переходе на Си... |
|
![]() |
#10 |
Участник
|
2 lokis
Вы путаете. Аналог Return для Pascal - Exit. Result (или имя функции) - промежуточная переменная, значение которой сохраняется перед выходом из функции в регистре EAX PS Извиняюсь за оффтопик
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от Lokis
в Object Pascal ( в Дельфи, то бишь
![]() Просто другая логика, из-за которой можно было немного запутаться при переходе на Си... Код: int MyMethod() // метод, возвращающий тип int { int Result = 0; // объявляю возвращаемую переменную ; if (условие) Result = 1; // один раз присвоил else Result = 2; // второй раз присвоил ... Return Result; // вышел из метода и вернул переменную } в Object Pascal ( в Дельфи, то бишь ![]() PS код немного подправил, чтоб было наляднее ![]() Последний раз редактировалось simply2double; 09.11.2005 в 11:37. |
|
![]() |
#12 |
Участник
|
2 AndyD
Спасибо, я в курсе как это работает. Я имел ввиду отличие в логике возвращения значения из функции. Вот примитивный пример: Код: function MyFunc(): integer; begin if {какое-то условие} then Result:= 1 //Или MyFunc:= 1; else Result:= 0; //........какой-то код //а дальше хоть принуждайте выходить exit'ом, хоть дожидайтесь отработки кода end; Нет, конечно же нельзя ничего сотворить с Result'ом после выполнения exit ("return" в Си). Последний раз редактировалось Lokis; 09.11.2005 в 11:49. |
|
![]() |
#13 |
Участник
|
2simply2double
В общем, признаюсь, что отличий в логике особенных и нет. Извините. ![]() |
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от Lokis
2simply2double
Нет, конечно же нельзя ничего сотворить с Result'ом после выполнения exit ("return" в Си). не кажеться ли Вам уважаемый, что рассуждениями о некоей мифической языковозависимой инвариантноти испонения кода Вы отвлекаете задающего вопросы от простого и ясного ответа. ![]() Ответ должен быть как выстрел: НЕТ !!! ![]() |
|
![]() |
#15 |
Участник
|
2 simply2double
Эти методы вызывались нормально, я запихал их в цикл, чтобы они выполнялись несколько раз, теперь они вообще не выполняются ![]() P.S. интересно было почитать вашу дискуссию ![]() |
|
![]() |
#16 |
Участник
|
Вы не привели условие вхождения в цикл. Возможно, проблемы там
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#17 |
Участник
|
Цитата:
Сообщение от Protey
2 simply2double
Эти методы вызывались нормально, я запихал их в цикл, чтобы они выполнялись несколько раз, теперь они вообще не выполняются ![]() Предположение: Видимо кривовато инициализируете экземпляр класса xmlDocument. Либо неправильно вставляете в него узлы. AndyD прав. Выложили бы весь код вашего цикла. По крайне мере сам скелет. Цитата:
Сообщение от Protey
2 simply2double
P.S. интересно было почитать вашу дискуссию ![]() |
|
![]() |
#18 |
Дмитрий Ерин
|
Цитата:
Сообщение от Protey
Есть метод, в конце идет команда retrun, надо еще выполнить несколько операций после return, возможно ли это?
![]() |
|
![]() |
#19 |
программист
|
![]() ![]() |
|
![]() |
#20 |
Участник
|
Цитата:
Сообщение от Ruff
Вопрос скорее философский. Из серии "есть ли жизнь после смерти?"
![]() |
|
|
![]() |
||||
Тема | Ответов | |||
Есть ли у кого-нибудь такая штучечка? | 54 | |||
Амортизация после кап.ремонта по НУ | 15 | |||
Новые поля после перехода на SP4 | 4 |
|