FindComponent will nicht

Experience1986

Erfahrenes Mitglied
Hi,

Ich bin noch Delphi anfänger und wollte nun mehrere Onjekte der gleichen Komponente (TPanel) ansprechen sie haben den Namen MainContent[Zahl].

In der Delphi Hilfe und im Inet habe ich jetzt die Funktion FindComponent(9) gefunden, aber leder schreibt Delphi, der Bezeichner sei Unbekannt.

Ich denke mal, das ich es richtig angewandt habe, aber da kann man so viel nicht Falsch machen:

Code:
procedure ShowAContent(var ShowCon:Integer);
var
  i: Integer;
const
  NamePrefix = 'MainContent';
begin
  for i := 1 to NumberOfContents do 
   begin
    with TPanel(FindComponent(NamePrefix + IntToStr(i))) do
    begin
        Visible:=False;
    end;
  end;
end;

Ist ein Beispiel aus der Delphi Hilfe, welches ich genauso brauch, ich möchte erst alle verstecken, die da sind, und dann später eins wieder anzeigen (Wird durch die Variable ShowCon gekennzeichnet).


Also, woran liegt das, das er die Funktion FindComponent() nciht findet, muss man da noch was bei uses eintragen, wenn ja was, das steht nämlich nirgens.


Freue mich über jede (schnelle) Antwort ;-)
 
Zuletzt bearbeitet:

Peter Bönnen

Erfahrenes Mitglied
FindComponent() ist eine Funktion von TComponent. D.h. deine Prozedur ShowAContent sollte besser eine Prozedur des Formulars werden. Damit würde sich ein Aufruf von FindComponent auch direkt auf diese Funktion deines Formulars beziehen. Es werden ja auch schließlich Formular spezifische Manipulationen durchgeführt.

Fluke
 
Zuletzt bearbeitet:

Bobbele

Grünschnabel
FindComponent ist keine Globale Funktion, daher kannst Du sie auch nicht einfach so aufrufen. Um die von Dir beschriebenen Elemente zu finden musst Du die FindComponent-Methode mit dem Objekt aufrufen, auf dem die TPanels liegen.

Wenn deine "MainContent?" Panels z.B. direkt auf dem Formular "Form1" liegen, musst Du

Form1.FindComponent(.....)

aufrufen.

Bobbele
 

Neue Beiträge