![]() |
Klassen-Typ als Parameter übergeben
Hallo!
Wie kann ich einen Typ als Parameterübergeben? Folgende funktioniert leider nicht:
Delphi-Quellcode:
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.
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; Wie kann ich also einen Type als Parameter übergeben? Besten Dank Ares |
Re: Klassen-Typ als Parameter übergeben
Versuch mal statt ClassType "TClass" zu verwenden.
|
Re: Klassen-Typ als Parameter übergeben
TObject
|
Re: Klassen-Typ als Parameter übergeben
Danke, das funktioniert prima!
|
Re: Klassen-Typ als Parameter übergeben
welches?
|
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 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz