Entweder das:
Delphi-Quellcode:
thread.Create(const liste:tstringlist);
begin
fListe:=tstringlist.create;
fListe.Assgin(Liste);
end;
thread.execute;
begin
machwasmitfliste;
//Hier muss fListe aber noch zurück in liste
fliste.free {ja!!!!}
end;
oder das
Delphi-Quellcode:
thread.Create(const liste:tstringlist);
begin
fListe:=liste;
end;
thread.execute;
begin
machwasmitfliste;
//fliste.free {nein!!!
end;
Ein fListe:=TStringList.Create macht ja keinen Sinn, wenn ich danach den der Variable fListe einfach mal auf eine andere STringList zeigen lassen. Und wenn ich das dann noch Freigebe, ist die Globale Liste weg.
Mit der zweite Variante wirst du dir aber über kurz oder lang ärger einhandeln.