Zitat von
DeddyH:
Und damit hast Du Dir die Referenz der erzeugten Liste mit einer nichtexistenten überschrieben. Mach es doch wie vorgeschlagen: übergib die Liste als (const-)Parameter und alles wird gut
[edit] Da waren mir zu viele "und"s drin
[/edit]
Die Liste als const-Parameter zu übergeben ist fast genauso falsch wie als var-Parameter.
In beiden Fällen wird eine Referenz auf eine Objektvariable erwarted, damit ist die direkte Übergabe von TStrings-Property nicht möglich.
Vor Parametern für einfache Datentypen ohne Referezzählung braucht auch kein const zu stehen.
Ein Boolean nimmt auf dem Stapel ebenso viel Speicher ein, wie ein Zeiger auf eine Boolean-Variable/Konstante.
Innerhalb der Prozedur kann einfacher auf den Wert zugegriffen werden, als diesen bei jedem Zugriff über den Zeiger zu lesen/schreiben.
Mein Vorschlag:
Delphi-Quellcode:
procedure ExtractBetween(const aSource, aPrefix, aSuffix, aNewPrefix, aNewSuffix : string;
aWords : TStrings;
aFindAll : Boolean = True);