Many thanks, will try it. This time i'm searching for some else "Invalid floating point operation" which is not shows on windows.
So, the problem is more deeply, because next IFOP is from :
round(filter.i['Treshold'] * 655.35)
so somethink bad is about FP operation.
Somethink what i should check ?
EDIT 2:
I dont understand this totally. When i try to do somethink like :
function test(const x : byte; const y : real) : word;
begin
result := Round((x*y));
end;
Write('Test(82,655.35) = ');
Writeln(IntToStr(test(82,655.35)));
On beginning of my code, that;s runs ok.
but i deep of my code :
tresh := filter.i['Treshold'];
Log('tresh = ' + IntToStr(tresh));
Log('tresh * 655.35 = ');
Log(FloatToStr(tresh*655.35));
Log('round(tresh * 655.35) = ');
Log(IntToStr(round(tresh*655.35)));
results in :
2016.10.14 13:36:36.151 - filter.i[Treshold] = 82
2016.10.14 13:36:36.151 - tresh = 82
2016.10.14 13:36:36.151 - tresh * 655.35 =
2016.10.14 13:36:36.151 - Exception on deploying image Invalid floating point operation
EDIT3:
function test(const x : byte; const y : real) : word;
begin
result := Round((x*y));
end;
var tresh : byte;
tresh := filter.i['Treshold'];
Log('1)tresh = ' + IntToStr(tresh));
Log('2)Test(82,655.35) = ');
Log('2)'+IntToStr(test(82,655.35)));
Log('3)82 * 655.35 = ');
Log('3)'+FloatToStr(82*655.35));
Log('4)test(trash, 655.35) = ');
Log('4)'+IntToStr(test(tresh,655.35)));
Log('5)tresh * 655.35 = ');
Log('5)'+FloatToStr(tresh*655.35));
Log('6)round(tresh * 655.35) = ');
Log('6)'+IntToStr(round(tresh*655.35)));
results :
2016.10.14 13:58:23.914 - 1)tresh = 82
2016.10.14 13:58:23.914 - 2)Test(82,655.35) =
2016.10.14 13:58:23.914 - 2)53739
2016.10.14 13:58:23.914 - 3)82 * 655.35 =
2016.10.14 13:58:23.914 - 3)Nan
2016.10.14 13:58:23.914 - 4)test(trash, 655.35) =
2016.10.14 13:58:23.914 - 4)53739
2016.10.14 13:58:23.914 - 5)tresh * 655.35 =
2016.10.14 13:58:23.915 - Exception on deploying image Invalid floating point operation
So there is difference between direct math and math in function test.
And other bug is, that the same error i have foud on line like :
fn += ifthen(filterNeedFilename<>'',filterNeedFilename,FormatFloat('0000', i)+'.jpeg');
I is word.