PDA

View Full Version : DF 20 - error 50 - Expression Internal error / but runs fine in 18.x releases



Samuel Pizarro
30-Jul-2021, 03:20 PM
I had an expression that was running fine in 18.x but when migrated to df 20 is now returning Error 50




BigInt ibResult ibValue ibShift

Move 0 to ibResult
Move 1 to ibValue
Move 0 to ibShift


Move (ibResult ior ((ibValue iand $1F) * (2^ibShift)) ) to ibResult // <<<---- this line raises error 50



If I break the expression in 2 steps.. it goes fine.



//Move (ibResult ior ((ibValue iand $1F) * (2^ibShift)) ) to ibResult

Move ((ibValue iand $1F) * (2^ibShift)) to iTmp
Move (ibResult ior iTmp) to ibResult




Wasn't sure if it's 64bit related or not (maybe). Feel free to move it to the new forum if that is the case.
I certainly missed the right forum. This was supposed to be posted in the regular windows forum, not in the web one, sorry!
Please DAW, feel free to move it


Regards

wila
30-Jul-2021, 04:01 PM
Interesting.

Problem in DF20 in both 32 bit as well as 64 bit, but runs without a runtime error in DF19.1

Nice find.
--
Wil

Samuel Pizarro
30-Jul-2021, 04:17 PM
thanks for confirming it!

Vincent Oorsprong
31-Jul-2021, 03:36 AM
Samuel,

Duplicated and logged.

PS: Also tried with |CI$1F and 15 (decimal representation of $F) instead of $1F which is a shortcut.

Samuel Pizarro
31-Jul-2021, 07:41 AM
Thanks for the ack

but regarding the hex token $1F, I got it from the help. If this is not the expected syntax, the help should be updated.

https://docs.dataaccess.com/dataflexhelp/#t=mergedProjects%2FLanguageGuide%2FNumbers.htm&rhsearch=Hex%20tokens&rhhlterm=Hex%20tokens&rhsyns=%20

thanks again