Ich habe mal ein Beispiel geschrieben [...]
Jetzt die einzelnen Methoden: InitializePanels erzeugt die Panels zur Laufzeit, richtet sie aus und weist ihrer Tag-Eigenschaft eine zufällige Zahl zu. Diese wird auch gleich mit dargestellt.
Delphi-Quellcode:
procedure TForm1.InitializePanels;
[...]
[...]
Anmerkung zur Vollständigkeit: Der Aufruf dieser Funktion besorgt sich (im
TPanel.Create(self)
) Speicher für die Panels. Diesen Speicher solltest du in deinem Destruktor (spätestens) wieder mit
Panel.Free
für jedes einzelne Panel aus dem Array freigeben. Ich weiß, dass das jetzt nicht zur Beantwortung der primären Frage dieses Threads beiträgt...
Ich habe damals beigebracht bekommen, dass man am Besten zeitnah für jedes Create, das man schreibt, ein Free spendiert. Vielleicht hilft dir dieser Tipp noch weiter...
Brighty
Ich habe diesen Post gerade erst gesehen und antworte darum jetzt erst darauf: die Panels müssen nicht explizit freigegeben werden, da beim Erzeugen das Formular als Owner angegeben wurde. Dieser Owner gibt alle ihm zugeordneten Komponenten automatisch frei, sobald er selbst zerstört wird.