Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Over midnight causes bug
Message
 
To
04/07/2001 00:09:33
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00526579
Message ID:
00526663
Views:
18
>This is a strange situation I wanted to talk about. The Universal Thread is using the Visual FoxPro Seconds() function to calculate the amount of time required to process a transaction. When the transaction is completed, we issue REPLACE LAP WITH SECONDS()-gnTime where gnTime contains the Seconds() start time. So, this is usually returning 0 to 1 second lap time as this is about what it takes to process a Universal Thread transaction.
>
>Now, tonight I faced a situation where an error was returned at that line. After a few investigations, I finally found that the transaction started in the last second of the day and ended in the first second of the new day. So, I added a condition to detect if the SECONDS() is greater than gnTime in order to avoid that. But, the weird situation is that this is unlikely to happen as it requires a lot of precision. I had it about 4 times in the first 6 months of 2001. <s>

To avoid this I use:

lnTime1 = VAL(SYS(1)) * 86400 + SECONDS()
* some process here
lnDiff = VAL(SYS(1)) * 86400 + SECONDS() - lnTime1

This gives the maximum precision.
Nick Neklioudov
Universal Thread Consultant
3 times Microsoft MVP - Visual FoxPro

"I have not failed. I've just found 10,000 ways that don't work." - Thomas Edison
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform