Hallo,
meiner Meinung nach moppelst du das doppelt
.
Entweder du nutzt onopen, ongetcols und ongetrows oder onopen, (onfirst,) onnext und
oneof.
Laß mal das onnext weg. Den Tag brauchst du nicht, du kannst im ongetrow
Connection.dataindex verwenden, um rauszubekommen, welche Zeile grade an der Reihe ist und damit die Daten aus dem Grid ziehen.
Dir würde das oneof fehlen, wäre mir bei rave nicht sicher, ob es bei Verwendung von onnext auf die gesetzten Connection.DataRows hört.
(Macht ja vielleicht auch wenig Sinn, da man bei der Verwendung von onnext davon ausgehen könnte, das man das Ende vorher nicht unbedingt weiß).
Würde für mich erklären, warum der Report nicht aufhört.
Wenn Du dein Prog beendest, ist das invalid richtig - die Daten können ja nirgends mehr herkommen.
Gruß Frank
Nachtrag:
weiß nicht, ob bei DelphiXE schon Fastreprot dabei ist. Aber Rave ist nicht mehr so wirklich lebendig
. gugg dir evtl einen anderen Reportgenerator wie Fastreport an.