![]() |
Typabfrage Interface
Meine Frage an das Forum ist folgende:
Ich habe ein Interface ICorrelation deklariert, welches von verschiedenen Klassen implementiert werden soll. Innerhalb einer Klasse TCorrelation, welche das Interface implementiert, möchte ich in der Methode CheckObject eine Typabfrage machen, d.h. ich möchte herausbekommen , ob die Klasse, die das Interface ICorrelation implementierte auch vom Typ TCorrelation ist, damit ich später eine Typumwandlung vornehmen kann. Die Verwendung des Operator „is“ funktioniert leider nicht. Fehlermeldung: Zitat:
Delphi-Quellcode:
Ich danke schon mal im Vorraus.
function TCorrelation.CheckObject(AObject: ICorrelation): Boolean;
begin if (AObject is TCorrelation) then Result := True else Result := False; end; Grüße Scouty. |
Re: Typabfrage Interface
Hallo scouty,
zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum. Nun zu deiner Frage: wenn du feststellen möchtest, ob ein Objekt ein bestimmtes Interface implementiert, musst du Funktion QueryInterface benutzen, die dir im Falle, dass das nachgefragte Interface existiert die ein Zugriff auf dieses Interface erlaubt. Du kannst aber nicht ein Interface übergeben und prüfen zu welcher Klasse es gehört. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 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-2025 by Thomas Breitkreuz