[QUOTE=SneakyBagels;1373658]
Zitat:
Zitat:
Mit der Angabe von Const kann der Parameter auch innerhalb der Procedure/Function nicht verändert werden. Außerdem kann der Compiler besser optimieren.
Optimiert der Compiler noch immer so gut, wenn man im Prozedurkopf const verwendet und innerhalb der Prozedur eine neue string-Variable, die man ändern kann?
Natürlich. Die Optimierung bezieht sich ja nur auf den Parameter.
Ob das allerdings dann noch was bringt, ist eine andere Frage. Schließlich hast du eine (lokale) Deklaration und eine Zuweisung mehr.
Ich kann doch gar nicht in Cells.[1, Grid.RowCount] schreiben ... es müsste eigentlich doch Cells.[1, Grid.RowCount -1] heißen, oder ? Aber warum wird dann keine
Exception ausgelöst ??
An des Phänomen kann ich mich erinnern. Das geht tatsächlich ohne
Exception!
Habe gerade mal eine Mini-Test-Anwendung gebastelt. Es war völlig unproblematisch "außerhalb" des StringGrids Einträge zu machen. Werden natürlich nicht angezeigt.
Das habe ich nie überprüft. Mir ist damals nur aufgefallen, dass ich RowCount einfach hochsetzen konnte und dann die Daten sichtbar wurden. Das habe ich gerade auch noch mal in meiner Test-Anwendung gemacht und einfach und die 9999te Zeile was eingetragen und 10000 Zeilen hinzugefügt. Die Daten waren dann sichtbar.
Mir fehlt aber die Zeit, um jetzt genau zu prüfen, was das TStringGrid macht. Das Ganze kann auch Zufall sein, da ich zwischen diesen Vorgängen keinen neuen Speicher für andere Dinge "verbrauche".