Soweit ich weiß, ist die Methode Assign genau dazu da, damit hinterher beide Objekte nicht auf dieselbe Adresse zeigen, aber trotzdem denselben Inhalt haben. Die Adresse von ComboBox1.Items wird durch
ComboBox1.Items.Assign(SL);
nicht geändert, und SL kann bedenkenlos freigegeben werden. Gleiches gilt für die Methode AssignTo in die andere Richtung. Würden beide Objekte auf dieselbe Adresse zeigen, wäre die Methode Assign ziemlich sinnlos, weil man dasselbe durch
ComboBox1.Items := SL;
erreichen könnte.
TStrings.Assign sagt auch:
Zitat:
Use Assign to set the value of the TStrings object from another object.
Grüße
Dalai