Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: dynamische QRLabels auf QuickReport wie löschen?

  Alt 13. Jan 2006, 17:56
Moin,

wenn du Komponenten dynamisch auf einem Quickreport erzeugst, geht das nur im Konstruktor.
Es ist auch nicht sinnvoll die erzeugten Komponenten selber wieder freizugeben.
Da der Report der Parent ist, sorgt dieser auch wieder für die Freigabe.

Du solltest die im Konstruktor erzeugten Komponenten in einem Unit-Globalen-Array zusätzlich ablegen, damit du in den anderen Routinen deines Reports Zugriff auf diese Komponenten hast. Um das Freigeben brauchst du dich nicht kümmern. Wenn dein Report jetzt neu erzeugt werden soll (ohne ihn neu zu createn) dann musst du dein Array durchgehen und die Komponenten zurücksetzen bzw. neu setzen (z.B. die Caption, Left, Top oder Height um des unsichtbar zu machen - Enabled klappt nämlich leider nicht - setzen)

Anders geht es nicht.

Da du die Anzahl der erzeugten Komponenten (nach dem Kontruktoraufruf) nicht mehr ändern kannst, kann das eventuell zu Problemen führen. Oder ist diese Anzahl immer gleich?
Wenn nein, solltest du den Report einfach zerstören und neu generieren lassen.
Wenn ja, siehe vorherigen Absatz.

MfG
Thorsten
  Mit Zitat antworten Zitat