Delphi-PRAXiS

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

malo 28. Feb 2005 15:32


Problem mit FindComponent
 
Hi!

Und zwar will ich mit FindComponent mehrere Labels sichtbar machen, die einen ähnlichen Namen haben. Klappt normalerweise auch ziemlich gut.

Nur jetzt will ich das ganze in einer Procedure ausführen, die NICHT in Form1 deklariert wurde. Da muss man ja bekanntlich, um Variablen / Procedures / Objekte von Form1 anzusprechen, die auch mit "Form1.xxx" ansprechen. Nur weiß ich nicht, wie ich das mit FindComponent verknüpfen soll :?

Mein erster Versuch:
Delphi-Quellcode:
  For i := 1 to 4 do
    Form1.(FindComponent('Prisma' + IntToStr(i)) as TLabel).Hide;
Hat jemand eine andere Idee? :?

alcaeus 28. Feb 2005 15:35

Re: Problem mit FindComponent
 
Hallo malo,

gib den Parent als Parameter mit:

Delphi-Quellcode:
function FindeKomponente(Parent: TComponent; CompName: String): TComponent;
begin
  Result := Parent.FindComponent(CompName);
end;
Sollte funktionieren, ist aber (wie immer ;)) ungetestet

Greetz
alcaeus

malo 28. Feb 2005 15:50

Re: Problem mit FindComponent
 
Ah, vielen Dank!

Sollte jetzt klappen... noch nicht wirklich gestetet, aber der Compiler akzeptiert es :)

ReDoX 28. Feb 2005 15:58

Re: Problem mit FindComponent
 
Mach es odch einfach so

Delphi-Quellcode:
var i : Integer;
begin
For i := 1 to 4 do
    (Form1.FindComponent('Label' + IntToStr(i)) as TLabel).Hide;
end;
Mfg ReDoX

alcaeus 28. Feb 2005 15:59

Re: Problem mit FindComponent
 
Hallo Redox,

aber wenn ich eine zweite Instanz von TForm1 erstelle und diese in einer Variable namens "MeineForm" abspeichere, knallts u.U.
Evtl. würde auch ein self.FindComponent helfen, aber ich finde die allgemeine Lösung doch sehr schön ;)

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 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