Hi!
Ich glaube, du wirfst da etwas durcheinander.
Mit der Funktion Assigned kannst du prüfen, ob ein Objekt bereits erstellt wurde (Ganz genau genommen stimmt das nicht, es wird geprüft, ob der übergebene Zeiger nicht NIL ist).
Mit der Prozedur Assign dagegen weist du bestimmte Eigenschaften eines Quellobjekts einem anderen Objekt zu. Beispiel:
Quelltext
1:
| Memo1.Lines.Assign(Memo2.Lines) |
Dies würde den Inhalt von Memo2 zu Memo1 kopieren.
Dabei gibt es natürlich dann keine Umkehrmöglichkeit, es sei denn, du bastelst dir sowas, indem du dir den ursprünglichen Zustand merkst.
Wenn du einen Zeiger nicht mehr auf ein Objekt zeigen lassen willst, benutzt du einfach Memo1:=NIL, dieser ist dann automatisch Assigned=False. Aber Achtung! Objekte müssen freigegeben werden! Wenn dies der einzige Zeiger auf das Objekt Memo1 ist, produzierst du eine Speicherleiche, rufst du nicht vorher Memo1.Free auf. Beides in einem Rutsch erledigt die Prozedur FreeAndNil.
Cu,
Udontknow