|
Das Codefragment stammt aus der Klassen-Bibliothek von Delphi: Bei TStrings handelt es sich um eine Listenklasse zur Verwaltung von Zeichenketten. Die Delphi-Hilfe sagt zu TStrings.Assign folgendes:
Mit der Methode Assign lassen sich der String-Liste die Strings eines anderen Objekts zuweisen. Die Zuweisung umfaßt auch eventuell vorhandene Objekt-Referenzen dieser Strings.
Mit der Methode Assign wird einem TStrings-Objekt der Wert eines anderen Objekts zugewiesen. Ist das Quell-Objekt ebenfalls vom Typ TStrings, enthalten beide Objekte anschließend die gleiche Liste. Falls den String-Werten der Quelle Objekte zugeordnet sind, werden auch diese übernommen, wenn das Zielobjekt diese Eigenschaft unterstützt.
Wenn das mit dem Parameter Source bezeichnete Quellobjekt nicht vom Typ TStrings ist, übernimmt die geerbte Assign-Methode den Listenwert von einem beliebigen anderen Objekt, das in seiner AssignTo-Methode die Klasse TStrings unterstützt.
Die Methode macht eigentlich alles richtig, ausser in einem ganz bestimmten Fall, der jedem C++ Programmierer geläufig sein dürfte...
Über diesen bugTeaser diskutieren.
|
|