Subject | Re: [IBO] TIBOQUERY Problem |
---|---|
Author | Jason Wharton |
Post date | 2001-11-28T18:01:25Z |
> Jason, I just tried to convert my app to use IBX as a stop gap before wecan
> find the solution. This solved the main query problem but caused so manyscratch
> other problems that it would have meant starting the app almost from
> where the databases where concerned.I've asked you to give me the callstack during the "hang-up" and you have
>
> This leaves me pretty stuck.
not done so.
Why you endeavored to rewrite your application as a stop-gap prior to doing
what I asked you to do confuses me. Did I miss an email on this somewhere?
Is all we have to do is examine the execution trace to see why it thinks it
needs to pull in all the records. The callstack reveals this easily and
readily. Should only take you a minute to do this. Without this I am without
a clue.
Do you need assistance in this critical aspect of Delphi? You have my
permission to use this list to get this basic assistance. It is most
critical to have so even though off topic, go for it. Couple of hints. In
your project options turn off Optimization and turn on the use of the Debug
DCU's. Then, you will have a complete stack including the VCL sources. This
will allow us to penetrate DB.pas and see the whole enchilada. During the
hang-up in your app, hit the pause button on the IDE, then clear that stupid
CPU form if it appears. Then, hit F7 to step if necessary. You should get a
breakpoint in the code where it is busily fetching records from the server.
Then, in the debug tools find the Callstack and open it. The information in
there is what I need.
PS. Just because something appears to work quickly in IBX doesn't mean its
the right thing to do on a technical level. For example, their Refresh
implementation refreshes a single record and not the dataset. This is going
to make IBX appear to be faster, but the trouble is, your dataset is not
refreshed.
Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com