Ich hab es erstmal einfach mit der Timer-Lösung gemacht.
Die komponente, die gelöscht werden will, setzt ihren Tag auf den Wert ihrer Höhe.
In der übergeordneten Komponente werden im OnTimer-Event alle die Tags aller Untergeordneten Komponenten untersucht. Ist einer <> 0, so wird a) die Komponente gelöscht und b) die Höhe der übergeordneten Komponente um den Wert in Tag verindert.
Ist zwar alles nicht elegant, aber es funktioniert.
OT:
Hab den Eindruck, dass man, wenn man manche Sachen so kompliziert (im Sinne von über Umwege) löst, man wahrscheinlich von Anfang an einen Design-Fehler drin hat und das es mit einer anderen Struktur vllt. einfacher wäre. Umgekehrt lernt man aber wahrsch. nur über so Krücken und mit der Zeit (und Hilfe in Foren, wie hier
) wie man es besser macht. Zwar gibt es Bücher über so Dinge wie Design-Patterns usw. (die ich sicher irgendwann mal lesen werde) aber diese oft Abstrakten Konzepte dann auf sein konkretes Problem zu modelieren ist dann nur mit Erfahrung möglich.
Ist ja mit der
OOP ähnlich. Da haste in der Schule schicke Beispiele von Autos oder Tieren im Zoo, wo das alles eigentlich ganz logisch klingt, aber bei einem realistisches Problem bei der Arbeit zu überlegen, wie pack ich das in Klassen usw. ist schon was anderes.