Subject | Unknown Cursor Exception |
---|---|
Author | Alan McDonald |
Post date | 2006-10-27T13:28:22Z |
I've finally found - only took 3 years... why I get that annoying exception
which is really harmless in the scheme of things but which annoys the hell
out me.
For those of you who have also experienced it...here it is and it all makes
common sense.
I use IB_Transaction.Refresh(True) a lot. I like the way the grids stay
untouched, so to speak and the buffer control on IB_Grids was the main
reason I moved to IBO.
When you call the Query.Delete method while sitting on a grid row, then call
Refresh(True), IBO nicely realises that it cannot return the buffer to this
row. You do not get this exception. But when you end up deleting a record in
the buffer which is currently selected in the grid via another component
e.g. a cursor DELETE statement and then call Refresh(True), of course the
grid has not been informed of the relevance of this delete and the buffers
try to locate this record (especially when the Query is set to raKeepRowNum
(which is what I like).
and then bang... the exception.
I can work around this no problems - many ways of doing it know that I know
why it happens.
regards
Alan McDonald
which is really harmless in the scheme of things but which annoys the hell
out me.
For those of you who have also experienced it...here it is and it all makes
common sense.
I use IB_Transaction.Refresh(True) a lot. I like the way the grids stay
untouched, so to speak and the buffer control on IB_Grids was the main
reason I moved to IBO.
When you call the Query.Delete method while sitting on a grid row, then call
Refresh(True), IBO nicely realises that it cannot return the buffer to this
row. You do not get this exception. But when you end up deleting a record in
the buffer which is currently selected in the grid via another component
e.g. a cursor DELETE statement and then call Refresh(True), of course the
grid has not been informed of the relevance of this delete and the buffers
try to locate this record (especially when the Query is set to raKeepRowNum
(which is what I like).
and then bang... the exception.
I can work around this no problems - many ways of doing it know that I know
why it happens.
regards
Alan McDonald