Das, was ich als zweite Methode angegeben habe, ist schon optimal. Mein Problem ist ja nicht: 'Wie mache ich das?' sondern: 'Wieso verhält sich Stringgrid so tückisch, daß Methode 1 teilweise (aber eben nur teilweise!) funktioniert?'
Das StringGrid verhält sich nicht tückisch, sondern du benutzt es nicht as designed.
Du hast ein Verhalten beobachtet und daraus ein Standardverhalten abgeleitet, welches aber nicht zugesichert wird.
Somit bleibt nur die Möglichkeit des ständigen Setzens der Zeilenanzahl (deine Methode 2)
oder
die maximal benötigte Anzahl vor der Schleife setzen, und am Ende die tatsächlich benötigte Anzahl zu setzen. In den meisten Fällen sollte das auch die schnellste Möglichkeit sein.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)