Zitat:
if assigned(Muster) then Muster.free;
if assigned(Muster) then
ist eher nutzlos, da .Free dieses intern auch prüft.
Wurde die Variable vorher nicht auf NIL initialisiert, wenn kein Objekt (mehr) drin ist, dann bringt soeine Prüfung auf NIL/Assigned nichts.