AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FindComponent findet Label nicht

Ein Thema von day · begonnen am 30. Aug 2006 · letzter Beitrag vom 29. Mär 2011
Antwort Antwort
Seite 1 von 3  1 23      
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#1

FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:30
Hallo,
Ich habe ein panel auf dem sich Labels befinden. ich erzeuge dynamisch noch zusätzlich labels. Jetzt möchte aber vorher überprüfen ob das label das ich erzeuge nicht bereits mit dem gleichen namen existiert. dazu verwende ich die funktion
     lExistendLabel := Component.FindComponent(LabelName); Component ist vom Type TComponent. Leider findet diese funktionein bereits existierendes label nicht.
Diese Funktion findet nur labels die ich dynamisch (create) angelegt habe. Labels die ich während der Entwicklung auf dem Panel platziert habe findet es nicht! Woran liegt das?????
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:33
FindComponent() findet nur Elemente die der Komponente untergeordnet sind. Wenn du also als Parent Component angibst, dann werden die Komponenten beim Aufruf von FindComponent() bei Component gefunden. Die zur Designzeit platzierten Labels liegen aber anscheinend in einem anderen Container. Die Frage ist hier: wo sind die Labels zur Designzeit abgelegt worden und was ist Component für eine Komponente?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:34
Wende das .FindComponent mal auf die Form an. Möglicherweise ist das ja der Owner des Labels.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Schaedel
Schaedel

Registriert seit: 5. Jan 2006
Ort: Saarland
174 Beiträge
 
Delphi 2007 Professional
 
#4

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:35
Hallo,
Delphi-Quellcode:
var
c : TLabel;
begin
c := (FindComponent('A' + IntToStr(i)) as Tlabel
   if C <> NIL then
....
Also bei mir funktioniert das so ...
Michael S.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:40
Jo, du schreibst dein Code in der Methode der Form und somit rufst du auch FindComponent() der Form auf. Und die Form ist Owner der Elemente...

naja, wurde alles schon gesagt...
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#6

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:43
hallo,
Also Component ist ein Panel auf welchem sich einpaar labels befinden. Das Panel liegt auf einer Form. Wie finde ich den heraus was der Parent ist bei den Platzierten labels. Habe bei den eingenschaften nichts gefunden und kann man den Parent ändern? Den so wie es ausschaut ist ja der Parent des Labels nicht das Panel.
  Mit Zitat antworten Zitat
Benutzerbild von Schaedel
Schaedel

Registriert seit: 5. Jan 2006
Ort: Saarland
174 Beiträge
 
Delphi 2007 Professional
 
#7

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:45
Also du Createst ja so ...
 Mylabel.Create(Panel); In der Klammer steht der Parent... da kannst du den setzen ...
Michael S.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:47
Die Frage ist: sind die Labels ordentlich auf dem Panel platziert? D.h. wenn du das Panel verschiebst, werden alle Label mit verschoben (zur Designzeit)? Wenn nein, dann stimmt dies nicht.

Den Parent änderst du, in dem du die Elemente woanders zur Designzeit einfügst. Es ist wichtig wo sie eingefügt werden, weil bestimmte Container Elemente (z.B. TPanel), welche weitere Elemente aufnehmen können, eine Gruppe für sich sind. Dadurch würde ein FindComponent() von dem TPanel nur die Elemente finden, welche auch wirklich in dem TPanel liegen oder in einem Element auf dem TPanel.
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#9

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:48
hallo,
Bei den Labels die ich zur laufzeit erzeuge funktioniert es ja auch. Ich habe aber noch labels die ich bereits vorher platziert habe. Jetzt möchte ich eben herausfinden ob das label welches ich zur laufzeit erzeuge bereits auf dem Panel existiert.
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#10

Re: FindComponent findet Label nicht

  Alt 30. Aug 2006, 09:50
wenn ich das Panel zur designzeit verschiebe dan verschieben sich alle labels auch.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 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