Solved

Integer Overflow in DateTimeToTimeStamp function (Sysutils)

Posted on 2006-07-20
4
788 Views
Last Modified: 2010-04-04
I had a problem with a program that has been widely tested, but recently, in two computers  I started getting the Integer Overflow exception at random times (I can't get a pattern) when i try to access some date routines like formatdatetime or now. Madexcept has traced the problem back to the DateTimeToTimeStamp function in SysUtils, but it´s in assembler and I don't really remember much from my asm classes to know whats happening. I've searched all over the internet for a solution or someone with a similar problem but i haven't found anything. I suspect it may be relaed to the regional settings or something like that.

Does any one have a clue about what's happening here?

This is an excerpt from the related madexcept log.


operating system  : Windows XP Service Pack 2 build 2600
processors        : 2x Intel(R) Pentium(R) 4 CPU 3.20GHz
physical memory   : 212/447 MB (free/total)
free disk space   : (C:) 35.03 GB
exception class   : EIntOverflow
exception message : Integer overflow.

Main ($980):
004574e5 +025 Station.exe SysUtils           DateTimeToTimeStamp
00457684 +01c Station.exe SysUtils           DecodeTime
007810d1 +025 Station.exe JvClock            TJvClock.GetTime
007822c7 +047 Station.exe JvClock            TJvClock.PaintTimeStr
00781701 +0ed Station.exe JvClock            TJvClock.TimerExpired
0077ff37 +01b Station.exe JvTimer            TJvTimer.Timer
00476511 +0fd Station.exe Classes            CheckSynchronize
004c9b6a +6b2 Station.exe Forms    7398 +153 TApplication.WndProc
00478360 +014 Station.exe Classes            StdWndProc
77d196c2 +00a USER32.dll                     DispatchMessageA
004ca294 +0fc Station.exe Forms    7651  +23 TApplication.ProcessMessage
004ca2ce +00a Station.exe Forms    7670   +1 TApplication.HandleMessage
004ca4ee +096 Station.exe Forms    7754  +16 TApplication.Run



Thank You
0
Comment
Question by:Dissaster
4 Comments
 
LVL 26

Accepted Solution

by:
Russell Libby earned 250 total points
ID: 17148231

The date time is obviously getting messed up, so couple of questions.

- Are you handling the OnGetTime event, and is it possible that the date / time value is getting messed up there?
- Have you tried placing a try / except handler in the TJvClock.GetTime method to allow you to log the value that is causing the exception?

The actual cause of the exception is this:

@@1:    DIV     IMSecsPerDay

And is caused by too large a number being passed in as a date time value. Also, any place where you are enabling / disabling the clock within an event handler that might call GetTime?

Regards,
Russell

0
 
LVL 12

Assisted Solution

by:Ivanov_G
Ivanov_G earned 250 total points
ID: 17151729
It is probably because different Regional Settings on the different computers. You can you Float (DateTime is Float) and the format it.
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now