Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   problem mit FindComponent (https://www.delphipraxis.net/112316-problem-mit-findcomponent.html)

khh 18. Apr 2008 15:49


problem mit FindComponent
 
hallo zusammen,
ich habe eine Klasse, MyNotebook in der ich das Notebook mit Tpages und Labeln versehe.
Im Mainform erstelle ich eine Instanz des Mynotebook und zeige das Ganze mit visible:= true; an.

Funktioniert bis hierhin noch einwandfrei und wird alles korrekt angezeigt.
Wen ich jetzt versuche aus dem mainform über :
Mynotebook.page[0].FindComponent('mylabel1')
auf das Label zuzugreifen passiert nix :-(
auch :
mynotebook.pages[0].componentcount gibt 0 zurück.

Was mach ich falsch ?
danke für eure Info

Gruss KH

mkinzler 18. Apr 2008 15:55

Re: problem mit FindComponent
 
Ist die Form Owner der Komponente?

SirThornberry 18. Apr 2008 17:07

Re: problem mit FindComponent
 
anstelle von FindComponent könntest du einfach die Labels in einem Array speichern und darauf darüber zugreifen. Es macht ja keinen Sinn nach etwas zu suchen wenn man beim anlegen einen Zeiger darauf sichern kann.

khh 18. Apr 2008 17:25

Re: problem mit FindComponent
 
hallo zusammen,
Eigentuemer des TNotebook ist die Form,
Eigentuemer der Page[0] ist das Notebook,
wie ich den Eigentümer des Label rausfinden kann, weiss ich nicht, da der Zugriff uber findcomponent ja nicht klappt.


Ich denke es wird wohl sinnvoller sein, die ganzen Pages und Labels im mainform zu erstellen, vor allem da hier noch Images hinzukommen sollen, auf deren event onCklick reagiert werden soll.
Ich hatte halt gedacht, ich kann das Ganze in eine eigene Klasse kapseln.



Gruss KH

NikoMitDaMacht 18. Apr 2008 17:31

Re: problem mit FindComponent
 
Es handelt sich hierbei doch um ein dynamisch erstelltes Label, oder?
Wenn dem so ist musst du beim Erstellen den Owner zuweisen.
Und dann würde ich auch einen Zeiger auf das Label irgendwo speichern.

mkinzler 18. Apr 2008 17:36

Re: problem mit FindComponent
 
Die Form muss Owner aller Komponenten sein, dass .FindComponent() funktioniert

khh 19. Apr 2008 08:34

Re: problem mit FindComponent
 
Hallo zusammen,
der Fehler ist behoben, ich hatte fälschlicherweise beim Erstellen des Label self anstatt mypage übergeben..
ich danke euch

Gruss KH


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.

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