Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponente an Hand des Namens finden (https://www.delphipraxis.net/58029-komponente-hand-des-namens-finden.html)

Scorpion 30. Nov 2005 11:07


Komponente an Hand des Namens finden
 
Hallo,

ich will eine Komponente ansprechen, dessen name ich kenne. Ich benutze die FindComponent Funktion, aber irgendwie klappt das nicht, wo liegt denn der Fehler??

Delphi-Quellcode:
   
var lknoten: TImage;
    Komponentenname: String;
...
lKnoten := TImage(Komponentenname);
//Zum Test, eine Showmessage
Showmessage(lknoten.Name);

Jedoch stürzt er bei der Showmessage ab.

thx

sh17 30. Nov 2005 11:10

Re: Komponente an Hand des Namens finden
 
kann ja nicht gehen, Du machst aus dem String ein TImage.

Zeig mal bitte den Code mit FindComponent.

Scorpion 30. Nov 2005 11:15

Re: Komponente an Hand des Namens finden
 
Oh, sorry...

ich wollte es eigentlich so versuchen:

lknoten := FindComponent(Komponentenname) As TImage;

aber das geht auch nicht, gibt jedes mal aber keinen Compilierfehler :(

sh17 30. Nov 2005 11:33

Re: Komponente an Hand des Namens finden
 
Delphi-Quellcode:
var
  lknoten : TImage;
  c : TComponent;
begin
  c := FindComponent('Image1');
  if c is TImage then
  begin
    lknoten := TImage(c);
    MessageDlg(lknoten.Name, mtInformation, [mbOK], 0);
  end;

Scorpion 30. Nov 2005 11:47

Re: Komponente an Hand des Namens finden
 
Liste der Anhänge anzeigen (Anzahl: 1)
das gibt bei mir leider auch folgenden fehler...

:(

sh17 30. Nov 2005 13:31

Re: Komponente an Hand des Namens finden
 
also bei mir gehts :gruebel:

aber wie ich sehe, setzt Du schon eine TObjectList ein.

ichbins 30. Nov 2005 14:01

Re: Komponente an Hand des Namens finden
 
wo genau tritt denn der Fehler auf? Mach mal überall showmessages rein damit du das siehst.

Khabarakh 30. Nov 2005 14:05

Re: Komponente an Hand des Namens finden
 
Zitat:

Zitat von ichbins
Mach mal überall showmessages rein damit du das siehst.

:shock: Dafür gibt es einen Debugger. Selbst wenn er nicht selbst an die richtige Stelle springt, sind ein paar Haltepunkte zehnmal so leicht einzusetzen und auch wieder zu entfernen als ShowMessage-Prozeduren.

r2c2 30. Nov 2005 15:43

Re: Komponente an Hand des Namens finden
 
Hört sich danach an, als gäge es keine Komponente mit entsprechendem Namen. Deshalb: In solchen Fällen mit <> nil prüfen...

mfg

Christian

Yheeky 30. Nov 2005 16:33

Re: Komponente an Hand des Namens finden
 
Zitat:

Zitat von Scorpion
Hallo,

ich will eine Komponente ansprechen, dessen name ich kenne. Ich benutze die FindComponent Funktion, aber irgendwie klappt das nicht, wo liegt denn der Fehler??

Delphi-Quellcode:
   
var lknoten: TImage;
    Komponentenname: String;
...
lKnoten := TImage(Komponentenname);
//Zum Test, eine Showmessage
Showmessage(lknoten.Name);

Jedoch stürzt er bei der Showmessage ab.

thx

Hi Scorpion ;)

wenn du z.B. die Transparentfarbe festlegen willst...

Delphi-Quellcode:
TImage(FindComponent('Name der Komponente')).Picture.Bitmap.TransparentColor := clFuchsia;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr.
Seite 1 von 2  1 2      

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