Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Erzeugte Objekte während der Laufzeit per Button verschieben

  Alt 2. Feb 2022, 18:15
Ich rate einfach mal ins Blaue hinein, dass zur Erzeugung der Labels im OnActivate lokale Variablen benutzt wurden. D.h. nach dem Verlassen dieser Methode hat man keine direkten Referenzen mehr auf diese Label.

Lösung wäre daher, die Label in einer Liste (oder, wenn es nur wenige sind, in einzelnen Variablen) zu speichern, als Eigenschaft der Formklasse. Diese Liste müsste dann im OnCreate der Form erstellt werden, und im OnDestroy wieder gelöscht werden, z.B.
Delphi-Quellcode:
type
  TLabelList = class(TObjectList<Label>);

MyLabelList := TLabelList.Create(False); // False: Die Objekte beim Freigeben nicht durch die Liste zerstören, das macht am Ende ja die Form.
The angels have the phone box.
  Mit Zitat antworten Zitat