After hours chasing a ghost... I finally figured out that the global_variable was hurting me.
I am trying to use QPC (in order to have timers with microseconds precision ) , and If I call a this API with a global_variable bigInt, the result is corrupted..
Code:
External_Function Win_QueryPerformanceFrequency "QueryPerformanceFrequency" Kernel32.dll Address lpFrequency Returns Boolean
Global_Variable BigInt gbiQPCFrequency
Move 0 to gbiQPCFrequency
Function QueryPerfCounter Global Returns BigInt
Boolean bRet
BigInt biCounter
Move (Win_QueryPerformanceFrequency( AddressOf(gbiQPCFrequency)) ) to bRet
Showln "gbiQPCFrequency: " gbiQPCFrequency // <<<<------- result corrupted 39062
Move 0 to biCounter
Move (Win_QueryPerformanceFrequency( AddressOf(biCounter)) ) to bRet
Showln "Freq local bigInt: " biCounter // <<<<---- correct expected result 10.000.000
Function_returns biCounter
End_Function