Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Feststellen ob eine Komponente vorhanden ist?

  Alt 8. Apr 2008, 07:23
Wenn du FindComponent verwendest so ist das gleichbedeutend mit Self.FindComponent
Das heißt das FindComponent bezieht sich auf die aktuelle Klasse. Du musst beim erzeugen deiner Komponente den richtigen Owner angeben. Wenn du keinen angibst kannst du auch nirgends mit FindComponent danach suchen. Gibst du als Owner Form2 an obwohl die Komponente auf Form1 liegt findet nur FindComponent von Form2 die Komponente.

Was allerdings nicht vergessen werden sollte!! Die Methode heißt FindComponent.
Es wird also anhand des Namens danach gesucht. Wenn du die Komponente dynamsich erzeugst spricht aber auch nix dagegen das du dir das Ergebnis auf eine Variable sicherst oder wenn es mehrere sind in einem Array/Liste. Das ist bedeutend performanter weil du in deinem Array/Liste dann nur die Komponenten hast die auch wirklich von dir gefunden werden sollen. Beim normalen FindComponenten hingegen werden alle Komponenten des Forms mit geprüft (also jedes Edit, Label etc. was du zur Designzeit plaziert hast)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat