Page 1 of 1

ключивые слова работают не правильно

Posted: 09 Sep 2015
by SergeyMayorov
мне говорили, что при таком подходе
Input:In1(0),In2(c);
if In1=0 then begin
value1=Sergeytest1(1,In2,value3);
end else begin
value2=Sergeytest2(1,(h+L)/2,value4);
end;

когда (In1=0)=истинно , функция Sergeytest2 рассчитываться не должна.
Что делать, когда она(Sergeytest2) все равно рассчитывается при (In1=0)=истинно или true ,как сделать так что бы не рассчитывалась, тогда когда не должна рассчитываться?
какие ключевые слова или сочетание слов в функции Sergeytest2 заставляют ее рассчитываться при (In1=0)=истинно или тогда когда она не должна считаться?
какие ключевые слова предусмотрены, что бы этот процесс остановить?
кто сталкивался с такой проблемой и как ее решал?
если это баг, а мене думается это баг, когда его устранят?

Re: ключивые слова работают не правильно  [SOLVED]

Posted: 15 Sep 2015
by AAY
Посмотрите в свойствах фунцкии Function Storage, если Series, то будет рассчитываться в любом случае, если Simple, то не будет.

Конкретно ваш тест не пробовал, но была похожая ситуация:

if условие 1
and какая-то функция 2
and ещё одна функция 3
...

если условие 1 не выполняется, то функции 2 и ниже не проверяются. Мне как раз надо было наоборот: чтобы в любом случае функции рассчитывались. Я поставил Function Storage=Series и заработало как надо.