habe weiter gesucht, hier mal ein Code-Auszug der function TCustomADODataSet.InternalGetRecord, welche bei einem adoquery.open durchlaufen wird:
Delphi-Quellcode:
if ControlsDisabled then
RecordNumber := -2 else
RecordNumber := Recordset.AbsolutePosition;
Hier sehen wir sehr schön, wie sich disablecontrols auf die recordnumber auswirkt...
Ich glaube ja fast, dass das 2. movenext (siehe obiger post) in den else-Zweig der if-Anweisung gehört und nicht hinter die if-Anweisung bzw alternativ das movenext in der if-Anweisung zuviel ist, so dass movenext in jedem Falle nur einmal aufgerufen wird, wie seht ihrs?