Subject | Re: [IBO] Ordering-Problem |
---|---|
Author | guido.klapperich@t-online.de |
Post date | 2001-11-08T22:28:43Z |
It seems, that the problem is in the function TIB_BDataset.LookupKeyForFields in
IBA_BDataset.imp at line 3536.
Here's the call-stack:
SysLookupKeyFields
TIB_BDataset.LookupKeyForFields
TIB_BDataset.SetBookmark(???)
TIB_BDataset.SysRefresh(False,???)
TIB_BDataset.RefreshKeys
TIB_BDataset.SetOrderingItemNO(???)
TIB_CustomGrid.UpdateOrdering(???,???)
TIB_CustomGrid.MouseUp()
There's another phenomenon I can't explain. I set a BreakPoint at line 3582
(curCursorGen := FCursorGen;) and change the OrderingItemNo from -1 to 1. Delphi
stops at the breakpoint, I press F9 and then the dataset is ordered at once. I
delete the breakpoint and change the OrderingItemNo from -1 to 1 and the
ordering takes nearly 1 minute. This is reproducable. When I set a breakpoint in
the LookupKeyForFields-Function the ordering takes only 2 seconds otherwise 1
minute. It seems, when there is a short break (in this case the waiting for me
to press F9) the ordering works correctly.
Any ideas ?
Guido
Jason Wharton wrote:
IBA_BDataset.imp at line 3536.
Here's the call-stack:
SysLookupKeyFields
TIB_BDataset.LookupKeyForFields
TIB_BDataset.SetBookmark(???)
TIB_BDataset.SysRefresh(False,???)
TIB_BDataset.RefreshKeys
TIB_BDataset.SetOrderingItemNO(???)
TIB_CustomGrid.UpdateOrdering(???,???)
TIB_CustomGrid.MouseUp()
There's another phenomenon I can't explain. I set a BreakPoint at line 3582
(curCursorGen := FCursorGen;) and change the OrderingItemNo from -1 to 1. Delphi
stops at the breakpoint, I press F9 and then the dataset is ordered at once. I
delete the breakpoint and change the OrderingItemNo from -1 to 1 and the
ordering takes nearly 1 minute. This is reproducable. When I set a breakpoint in
the LookupKeyForFields-Function the ordering takes only 2 seconds otherwise 1
minute. It seems, when there is a short break (in this case the waiting for me
to press F9) the ordering works correctly.
Any ideas ?
Guido
Jason Wharton wrote:
> > Then tell me please, what is the callstack ?
>
> The callstack is what you get when debugging in Delphi so that you know what
> all functions and methods have been called to get you to where you are in
> execution. Tracing this tells me what was called and why it is fetching
> records.
>
> Look at it from the Debugging menu of Delphi. Consult the help files to know
> more details.
>
> NOTE: This is an essential thing to know if you are a Delphi programmer.
> Time spent learning to use the full array of debugging resources is very
> well spent.
>
> Regards,
> Jason Wharton
> CPS - Mesa AZ
> http://www.ibobjects.com
>
> ___________________________________________________________________________
> IB Objects - direct, complete, custom connectivity to Firebird or InterBase
> without the need for BDE, ODBC or any other layer.
> ___________________________________________________________________________
> http://www.ibobjects.com - your IBO community resource for Tech Info papers,
> keyword-searchable FAQ, community code contributions and more !
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/