Skip to main content

Operator: __QUERYPOINTER

Der Operator ist eine Erweiterung der IEC61131-3.

Der Operator ermöglicht zur Laufzeit die Typkonvertierung einer Interface-Reference eines Funktionsbausteins auf einen Pointer. Der Operator liefert ein Ergebnis vom Typ BOOL zurück. TRUE bedeutet, dass CODESYS die Konvertierung erfolgreich durchgeführt hat.

Wichtig

Aus Kompatibilitätsgründen muss die Definition des zu konvertierenden Pointers eine Erweiterung des Basis-Interface __SYSTEM.IQueryInterface sein.

__QUERYPOINTER ( <ITF_Source>, <Pointer_Dest> )

Der Operator bekommt als ersten Operanden eine Interface-Referenz oder eine FB-Instanz mit den gewünschten Zieltypen und als zweiten Operanden einen Pointer. Nach Abarbeiten von __QUERYPOINTER enthält Pointer_Dest den Pointer auf diejenige Referenz oder Instanz eines Funktionsbausteins, auf die die Interface-Referenz ITF_Source aktuell verweist. Pointer_Dest ist nicht getypt und kann auf einen beliebigen Typ gecastet werden. Sie müssen den Typ sicherstellen. Beispielsweise könnte das Interface eine Methode anbieten, die einen Typ-Code zurück liefert.