Ich habe mich zu kurz und damit falsch ausgedrückt
Zitat von
Blup:
Die Liste als const-Parameter zu übergeben ist fast genauso falsch wie als var-Parameter.
Ich hätte schreiben sollen "Die Übergabe als const-Parameter ist überflüssig".
Zitat von
Blup:
In beiden Fällen wird eine Referenz auf eine Objektvariable erwarted,
Tatsächlich behandelt der Compiler "const" nur, in dem er Zuweisungen auf die Variable innerhalb der Prozedur verbietet und entsprechend auch die Weitergabe als var-Parameter an weitere Funktionsaufrufe. Der erzeugte Code ist identisch, ob "const" angegeben wird oder auch nicht.
Zitat von
Blup:
damit ist die direkte Übergabe von TStrings-Property nicht möglich.
Der Teilsatz bezieht sich natürlich auf var-Parameter. Als weitere Einschränkung muss die Variable auch genau dem Typ entsprechen. Wird die Variable z.B. als TStringList deklariert, ist eine direkte Übergabe unzulässig.