Moin,
Und wieso ist das global?
Weil ich mein StringListe nicht in einer Procedure/Funktion definiere sondern halt global.
Das kracht dann früher oder später schon wieder.
Leg die Defintion von sl in die Typdeklaration der Form.
Delphi-Quellcode:
TForm1 = class(TForm)
private
{ private declarations }
sl: TStringList;
public
{ public declarations }
end;
Dann ist sie in der gesamten Form sichtbar, aber vor unbeabsichtigten Änderungen von ausserhalb geschützt.
Stell Dir einfach einmal vor, was geschiet, wenn Du diese Form zweimal erstellst, oder wenn irgend ein Komponentenentwickler auf die glorreiche Idee kommt, eine globale Variable mit dem Namen "sl" anzulegen.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.