Subject Integer Overflow Exception
Author Robert Wagner
Hi there,

I converted a BDE / FB 1.51 (Dialect 1) application to IBO 4.6.A / FB
1.53 (Dialect 3).

The application used one TDatabase and many TQuery objects in a
which were converted to their TIOBDataBase and TIBOQuery equivalents.
The queries do nothing fancy, mainly selects and some parametrized
insert / update statements.

At first glance the application seemed to work as well as before, but
after a longer test period the exception 'Integer overflow' occurred
saving data to the database.

The exception always occurs in line 3242 in unit
IBODataSet.InternalGetFieldData at the following statement:

tmpData := pointer( longint( ARecBuf ) +
longint( SQLData ) -
longint( InternalDataset.Fields.RowBuffer ));

This function is called by TIBODataset.GetFieldData, line 3220 in

The exception does not always occur after saving the same amount of
Sometimes it occurs after saving ten times, sometimes I can save fifty
or more times
data to the database, but sooner or later the exception occurs.

Does anybody have a clue, why the 'Integer Overflow' exception is raised
by IBODataSet?

I am using Delphi 5 and IBO 4.6.A. As already said, I use FB 1.53
(SuperServer). The
database is dialect 3.

If it helps I can provide a (madExcept) stack trace of the situation
when the exception is raised.

Many thanks for your help

Robert Wagner