Du machst das irgendwie völlig falsch. Wenn Du variablen Text auf ein Form schreiben willst, mach das mit Canvas.TextOut oder Canvas.TextRect, nicht, indem Du TLabels auf das Form legst. Beides zu mischen macht keinen Sinn, denn TLabels sind persistent, wenn man sie einmal angelegt hat zeichnen sie sich selbst neu, wenn das notwendig ist. Wenn sich der Text ändert, den sie anzeigen sollen, ändert man die Caption-Eigenschaft des Labels und zerstört nicht das Label und erzeugt es neu.
Die Labels werden auch nur gelöscht/erstellt sofern die Form geschlossen/geöffnet wird, dies sollte auch so sein, da sich jedesmal der Inhalt, die Position und die Anzahl der Labels ändert.
Deine Idee mit dem Draw Text erscheint, mir allerdings wirklich als eine bessere alternative, so erspare ich mir einiges an schreib arbeit und außerdem scheint es mir damit einfacher zu sein ein dynamisches System zu erschaffen!
Edit: Durch den Vorschlag von Peterbelow konnte ich das gesamte System nun besser umsetzen, daher besteht das oben genannte Problem auch nicht mehr.
Nun hatte ich eine neue Idee, wobei ich wieder einige Probleme beim realisieren habe:
Beim zeichnen wird nicht nur ein Objekt sondern dynamisch viele (je nach Eingabe des Benutzers) erstellt (-> Kein Problem).
Natürlich werden ab einer bestimmten Anzahl, die Objekte außerhalb des Programmes gezeichnet.
Gibt es eine gute Möglichkeit zu scrollen?
Habe Online die Idee gesehen, dass man jedesmal die Objekte neuzeichnet und verschiebt je nach Stellung der Scrollbar aber um ehrlich zu sein habe ich keine Ahnung wie ich das am geschicktesten umsetzen soll, bzw. gibt es womöglich eine schönere/bessere alternative?