Forum: Programmieren allgemein
by Dalai,
12. Feb 2020
Ein Befüllen einer TStringList ist auch möglich, wenn diese als const an eine Funktion übergeben wird. Nur ein Zuweisen einer neuen Instanz benötigt var (oder out). Eine Variable auf eine TStringList hält doch nur einen Pointer auf einen Speicherbereich, was die Veränderung des Speicherbereichs (=Inhalte der TStringList) aber nicht verhindert.
Kurz gesagt: Überleg dir ganz genau, ob du das var...
Forum: Programmieren allgemein
by Dalai,
11. Feb 2020
Du hattest bisher einfach nur Glück. Lokale Variablen wurden - bis auf Ausnahmen - noch nie initialisiert. Dass (d)ein Delphi 2010 nicht warnt, ist vielleicht ein Bug, vielleicht auch eine Einstellungssache, vielleicht abhängig vom genauen Code.
Grüße
Dalai
Forum: Programmieren allgemein
by Dalai,
11. Feb 2020
Auch ältere Delphis dürften bei derartigem Code gewarnt haben, dass die Variable (möglicherweise) nicht initialisiert ist.
Grüße
Dalai