Subject Re: [IBO] Re: More Scroll Questions... (More Info)
Author Geoff Worboys
> But from the end-user side, there is a huge difference between the
> two. I, as an end-user, should not be concerned when/how/where/etc.
> IBO internally refreshes its data, and really, I don't care when
> it has to...

You are not an end-user, at least I hope not. Neither IBO nor
Delphi are designed for end users. You are, presumably, a
programmer, developer, software architect, software engineer etc
(choose the description of your choice).

Your job is to choose the correct tools for the job, discover the
issues which need to be resolved to make the result appropriate
to the end-user. In short, your job is to meet the users
requirements as closely as practical within the constraints of
your chosen tools.

Do we complain that the Windows API is not all we want. Well yes,
I guess we do. But do we really expect MS to jump in and change
the API, possibly breaking many existing application in the process?
No we dont. As developers we must be realistic in our view that
everthing has its quirks and peculiar behaviours, much of it has to
do with the trade-offs made between performance, useability and
elements left over as part of the development history.

> IBO must separate what it has to do internally from its
> end-user interface.

The end user interface is not really IBO's responsibility, at least
not ultimately. Sure it provides controls and and events etc to
allow us to create end-user interfaces, but that interface is
ultimately our responsibility - as the developers interacting with
the end user.

I hope I dont sound too rude, but the "I'm not interested in the
details" does not cut much ice with me. Its your job to be
interested in the details. You are obviously already aware of
this, from the detailed analysis you have already performed.

When it comes to the Scroll events, I do understand how it has
has not met your expectations. What I have tried to explain is
why it behaves the way it does and that this means it cannot be
simply changed to meet your expectations. (Of course Jason may
cut me off at the knees and fix it tomorrow ;-)

If it were not for the grid interactions you could easily place
your code in a more appropriate place. One area where a "fix"
could be applied more easily than with Scroll events is to make
it easier to detect row changes coming from a grid.

Geoff Worboys
Telesis Computing