Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Klassen-Typ als Parameter übergeben (https://www.delphipraxis.net/102867-klassen-typ-als-parameter-uebergeben.html)

Ares 6. Nov 2007 10:33


Klassen-Typ als Parameter übergeben
 
Hallo!

Wie kann ich einen Typ als Parameterübergeben? Folgende funktioniert leider nicht:

Delphi-Quellcode:
    function GetControl(ControlName: String; ControlType: ClassType): TControl;
    var control: TControl;
    begin
      control := MyForm.FindChildControl(ControlName);
      if ((control<>nil) and (control is ControlType)) then
        result := control;
      else
        result := nil;
    end;
Die Funktion soll also überprüfen, ob es auf dem Form MyForm eine Komponente mit dem Namen "ControlType" und vom Type "ControlType" gibt und diese ggf. zurückliefern. Bei diesem Beispiel gibt der Compiler jedoch "'ClassType' ist kein gültiger Typbezeichner" aus.

Wie kann ich also einen Type als Parameter übergeben?

Besten Dank
Ares

Dezipaitor 6. Nov 2007 10:36

Re: Klassen-Typ als Parameter übergeben
 
Versuch mal statt ClassType "TClass" zu verwenden.

sirius 6. Nov 2007 10:38

Re: Klassen-Typ als Parameter übergeben
 
TObject

Ares 6. Nov 2007 10:46

Re: Klassen-Typ als Parameter übergeben
 
Danke, das funktioniert prima!

Dezipaitor 6. Nov 2007 12:46

Re: Klassen-Typ als Parameter übergeben
 
welches?

jethark 6. Nov 2007 19:17

Re: Klassen-Typ als Parameter übergeben
 
IMHO ist Dezipaitors Ansatz richtig.
Wobei hier natürlich ein TControlClass als Referenztyp genügen sollte,
denn schließlich liefert FindChildControl mindestens ein von TControl
abgeleitetes Objekt zurück.


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