Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komponente über eine Variable ansprechen (https://www.delphipraxis.net/78129-komponente-ueber-eine-variable-ansprechen.html)

BillieJoe90 29. Sep 2006 13:40


Komponente über eine Variable ansprechen
 
Hallo,
ich bin genau so neu hier im Forum, wie auch in Delphi :)
Ich würde gerne eine Komponente über eine Variable verwenden.
Beispiel:
Delphi-Quellcode:
var
  komponente: (Datentyp, den ihr mir nenne müsst ;-));

procedure IRGENDWAS(blabla);
begin
  komponente := Label1;
  komponente.Caption := 'Hallo';
end;
Ist das möglich und wenn ja, wie muss der Datentyp dafür lauten? Ich habs schon mit "TComponent" und "TObject" probiert, aber das hat eher nicht geklappt :wink:

Vielen Dank schonmal!

Johannes

mkinzler 29. Sep 2006 13:44

Re: Komponente über eine Variable ansprechen
 
TObject oder TComponent. Beim Zugriff mußt du halt entsprechend Casten.

chaosben 29. Sep 2006 13:45

Re: Komponente über eine Variable ansprechen
 
Hi Johannes und herzlich Willkommen in der DP! :hi:

Im Allgemeinen ist es eine Elternklasse der Klasse die du benutzen möchtest ... bzw. die Klasse selbst. (Siehe Klassendiagramm in der Hilfe)

F.W. 29. Sep 2006 13:48

Re: Komponente über eine Variable ansprechen
 
Der Datentyp mus TLabel sein, dafür gibt es 2 Möglichkeiten:

Delphi-Quellcode:
var
  komponente: TLabel;

procedure IRGENDWAS(blabla);
begin
  komponente := Label1;
  komponente.Caption := 'Hallo';
end;

//oder:

var
  komponente: TComponent;

procedure IRGENDWAS(blabla);
begin
  komponente := Label1;
//du weißt ja, dass in Wirklichkeit ein Label dahinter steckt:
  TLabel(komponente).Caption := 'Hallo';
end;
Schau dir mal den intercae Abschnitt (oberer Teil) deiner Unit an. Dort steht TForm1 = class(TForm) ... und irgendwo steht da auch Label1: TLabel
Denn Label1 ist schon eine Variable, nur dass die Delphi für dich verwaltet.

BillieJoe90 29. Sep 2006 13:50

Re: Komponente über eine Variable ansprechen
 
Hey, mit so einer schnellen Antwort hätte ich nicht gerechnet! Danke, es funktioniert! :)


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