Das Problem bei der Stringliste (und allgemein allen Eigenschaften von Objekten) ist die, das sie nicht 100% wie Variablen behandelt werden können. Ebensowenig wie
Delphi-Quelltext
1:
| Inc (aObject.MyProperty) |
funktioniert, geht eben ein
Delphi-Quelltext
1:
| aStringList[0][1] := 'x'; |
Ersteres geht über
Delphi-Quelltext
1:
| aObject.MyProperty := aObject.MyProperty + 1 |
und das Stringlistelement wird so modifiziert:
Delphi-Quelltext
1: 2: 3:
| aString := aStringList[0]; aString [1] := 'x'; aStringList[0] := aString; |
wobei das eventuell noch einfacher ist. Das Prinzip ist aber klar.
Ebensowenig können Properties als Var-Parameter übergeben werden.