Ok, versuchen wir es mit etwas Code.
GrdArtikel.RowCount := Zeile;
Woher bekommt die Variable
Zeile ihren Ursprungswert, sprich: wo wird
Zeile initialisiert?
Der von dir eingestellte Code läßt es nicht ohne weiteres zu, den genannten Fehler zu finden.
Ich würde hier erstmal mit einer lokalen Variable
Zeile arbeiten, damit du sicherstellst, daß auch wirklich eine Zeile hinzugefügt wurde, falls du woanders mit der Zählung durcheinandergeraten bist:
Delphi-Quellcode:
GrdArtikel.Rowcount := GrdArtikel.Rowcount + 1.
Zeile := GrdArtikel.Rowcount -1; //Zählung beginnt bei 0
Und wieso dieses umständliche Konstrukt?
Delphi-Quellcode:
Clubrabatt := Clubrabatt*-1;
Summe := Summe+Clubrabatt;
statt einfach:
Summe := Summe - Clubrabatt;
???
Übrigens solltest du nicht mit Leerzeichen geizen, dein Code dadurch wird übersichtlicher.
Empfehlung: Debugge einmal deinen Code, indem du auf GrdArtikel.RowCount := Zeile; einen Haltepunkt setzt. Schau dir im Debug-Fenster den Wert von Rowcount und von Zeile an. Vermutlich kommt dein Fehler daher, daß du die Zeile, in die du zuvor reinschreibst, erst später erzeugst. Müßte eigentlich einen Zugriffsfehler ergeben.