Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bei einer Komponente ein Panel zwischenschalten (https://www.delphipraxis.net/131602-bei-einer-komponente-ein-panel-zwischenschalten.html)

blackdrake 4. Apr 2009 13:10

Re: Bei einer Komponente ein Panel zwischenschalten
 
Hat jemand eine Idee, wie man den/die Fehler beheben oder das ganze etwas optimieren könnte?

jaenicke 4. Apr 2009 18:23

Re: Bei einer Komponente ein Panel zwischenschalten
 
Überlege einmal was du da machst...
Delphi-Quellcode:
  Panel := TPanel.Create(Self);

  inherited Create(Panel);
Du erstellst ein Panel, das deiner Komponente gehört, und danach sagst du, dass die Komponente dem Panel gehört...

Was passiert jetzt beim inherited? Kurz gesagt wird dem Panel als Besitzer gesagt, dass deine Komponente hinzugefügt werden soll. Die dafür aufgerufene Methode wiederum informiert das Panel per Notification darüber, dass dies passiert ist.

Diese Notification wird dann an alle untergeordneten Komponenten weitergeleitet. Dazu gehört auch deine Komponente. Diese wiederum leitet das wiederum an alle untergeordneten Komponenten weiter, wozu das Panel gehört. Und schon hast du einen StackOverflow... ;-)

Wie wäre es, wenn du das Panel der übergeordneten Komponente hinzufügst? ;-)
Delphi-Quellcode:
  Panel := TPanel.Create(AOwner);

  inherited Create(Panel);

blackdrake 21. Apr 2009 14:46

Re: Bei einer Komponente ein Panel zwischenschalten
 
Oh, da habe ich wohl was falsch gelesen. Vielen Dank, jetzt funktioniert es auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz