|
|
#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?
Созадется впечатление, что уважаемый Protey много чего не представляет.
|
|
|
|
|
#7 |
|
Участник
|
Ага, учитывая что аксапту я вообще не знаю, сказали делать вот и мучаюсь
|
|
|
|
|
#8 |
|
Участник
|
Цитата:
Сообщение от Protey
Ага, учитывая что аксапту я вообще не знаю, сказали делать вот и мучаюсь
![]() ))) а при чем здесь акса... исполнять что либо после команды return не умеет ни один язык... Для получения двух отчетов запускайте цикл его формирующий два раза... с разными параметрами. Надеюсь как передают параметры в методы Вы представляете.... |
|
|
|
|
#9 |
|
Участник
|
Цитата:
Сообщение от simply2double
))) а при чем здесь акса... исполнять что либо после команды return не умеет ни один язык...
) возвращаемое значение функцией хранилось в переменной Result. Таким образом, можно было присваивать значение этой переменной в теле функции несколько раз и при выходе из нее значение переменной Result определяло результат, возвращаемый этой функцией.Просто другая логика, из-за которой можно было немного запутаться при переходе на Си... |
|
|
|
|
#10 |
|
Участник
|
2 lokis
Вы путаете. Аналог Return для Pascal - Exit. Result (или имя функции) - промежуточная переменная, значение которой сохраняется перед выходом из функции в регистре EAX PS Извиняюсь за оффтопик
__________________
Axapta v.3.0 sp5 kr2 |
|
|
|
|
#11 |
|
Участник
|
Цитата:
Сообщение от Lokis
в Object Pascal ( в Дельфи, то бишь
) возвращаемое значение функцией хранилось в переменной Result. Таким образом, можно было присваивать значение этой переменной в теле функции несколько раз и при выходе из нее значение переменной Result определяло результат, возвращаемый этой функцией.Просто другая логика, из-за которой можно было немного запутаться при переходе на Си... Код:
int MyMethod() // метод, возвращающий тип int
{
int Result = 0; // объявляю возвращаемую переменную
;
if (условие)
Result = 1; // один раз присвоил
else
Result = 2; // второй раз присвоил
...
Return Result; // вышел из метода и вернул переменную
}в Object Pascal ( в Дельфи, то бишь ) можно что-то сотворить с Result после исполнения Return ?????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 | |||
|