Laut Dokumentation positioniert TDataSet nach delete auf dem "nächsten nicht gelöschten Datensatz". <br>
Diese Def. sagt nichts über den Fall aus, dass der letzte Datensatz gelöscht wurde. Real bleibt der Cursor dann offenbar auf dem letzten Datensatz (das ist dann der der vor dem gelöschten Record stand). Soweit so gut, allerdings wird <B>EOF nicht gesetzt<B> was ich eigentlich erwartet habe.<br>
Ist dies Begründet oder ein Bug?<br>
ich helfe mir zZ mit folgender Konstruktion:
<PRE>
if RecNo=RecordCount // wird der letzte Record gelöscht?
then begin
Delete;
Next; // erzwingt EOF
end
else Delete;
</PRE>
Geht das auch einfacher?<br>
Peter
Diese Def. sagt nichts über den Fall aus, dass der letzte Datensatz gelöscht wurde. Real bleibt der Cursor dann offenbar auf dem letzten Datensatz (das ist dann der der vor dem gelöschten Record stand). Soweit so gut, allerdings wird <B>EOF nicht gesetzt<B> was ich eigentlich erwartet habe.<br>
Ist dies Begründet oder ein Bug?<br>
ich helfe mir zZ mit folgender Konstruktion:
<PRE>
if RecNo=RecordCount // wird der letzte Record gelöscht?
then begin
Delete;
Next; // erzwingt EOF
end
else Delete;
</PRE>
Geht das auch einfacher?<br>
Peter
Comment