Subject RE: IBO version 4.5 - Could you supply change list?
Author Jason Wharton
Here's the example I was addressing that gave rise to the changes.

If you are at the top row of the grid and you do a mousewheel or arrow up
scroll then the grid will attempt to scroll up one record but because it is
at the first record of the dataset it ends up doing a scroll up for zero
records. On the inside of IBO's scrolling events, etc. it would only
process a BeforeScroll event if the number of records is 1 or more in either
direction. Then, once it had scrolled the zero record (which didn't really
do anything) it announced a DataChange event anyway and then the result of
this is the grid had fresh changes that hadn't been written to the buffer
and the triggering of the DataChange event caused the grid to lost the
changes by picking up the values from the buffer. What I did is made IBO
announce the BeforeScroll event even when scrolling 0 records so that the
grid would have an opportunity to post its changes to the dataset buffers
and not get lost.

Does this help?

Jason Wharton

> -----Original Message-----
> From: Michael L. Horne [mailto:michael@...]
> Sent: Wednesday, November 10, 2004 9:50 AM
> To: jwharton@...
> Subject: RE: IBO version 4.5 - Could you supply change list?
> Thanks,
> When reading the list I came across the following, could you
> explain it better?
> --------------------------------------------
> When scrolling zero records it is possible to have the
> current record drop
> out. There was a little confusion surrounding whether or not the
> BeforeScroll and AfterScroll events should be triggered if nothing was
> scrolled to and in fact it was not triggering them. Now I made it
> intelligent enough to trigger them when the record will change when
> scrolling zero record places.
> Changes in IB_Grid.pas:
> { Jason Wharton <jwharton@...>
> }
> { 01-Nov-2004
> }
> { I made it so that when using the mousewheel and
> attempting to scroll
> to }
> { the BOF or EOF row and there were current edits they
> would get lost
> due }
> { to a DataChange event being fired off because a scroll
> to the same row
> }
> { still considered a scroll, although the BeforeScroll
> and AfterScroll
> }
> { events may not be fired off causing the edits to be
> flused to the
> buffer.}
> --------------------------------------------
> Thanks
> Michael L. Horne