Du hast das Konzept der Datenmengen (TDataset-Abkömmlinge) vielleicht nicht richtig verstanden.
Ein TDataset enthält die geladenen Daten in Tabellenform und verwaltet einen Datensatzzeiger, sodaß beim Zugriff auf die Felder die daten jeweils einer Zeile ausgelesen werden. Mit First/Next/Prior/Last kann man den Datensatzzeiger bewegen. Mit Get/GotoBookmark kann man sich die Position des Datensatzzeigers merken und später wieder dort hinspringen.
Eine Routine, die unsichtbar durch eine Datenmenge iteriert, und den Datensatzzeiger hinterher wieder dort plaziert, wo er vorher war, sieht so aus:
Delphi-Quellcode:
...
Var
B : TBookmark;
Begin
B := MyDataSet.GetBookmark;
MyDataset.DisableControls;
Try
MyDataset.First;
While Not MyDataset.Eof do Begin
// Mach was mit MyDataset
MyDataset.Next,
End
Finally
MyDataset.GotoBookmark(B);
MyDataset.FreeBookmark(N);
MyDataset.EnableControls;
End
End;
Damit solltest Du die gewünschte Funktionalität abbilden können.