-> Hier kostenlos registrieren
Kann man in ST eigentlich Pointer Casten?
Folgendes Beispiel:
eine CAST Operation wie sie in Hochsprachen üblich ist.
Mal am C, bzw. C++ angelehnt, so etwas wie: (POINTER TO FB_MY_FB) ptrVoid
Folgendes Beispiel:
ptrVoidOINTER TO T_VOID;
fbMyFb:FB_MY_FB;
ptrVoid:=ADR(fbMyFb);
T_VOID ist ein beliebiger selbst definierter Typ. ptrVoid kann ich nun zwar über ^ Operator dereferenzieren, aber natürlich nur in den Typ T_VOID. Klar ist jedoch, dass ich irgendwann aber auch in den Typ FB_MY_FB dereferenzieren will. Bisher gefundene Lösung:fbMyFb:FB_MY_FB;
ptrVoid:=ADR(fbMyFb);
ptrMyFbOINTER TO FB_MY_FB;
ptrMyFb:=ptrVoid;
Das funktioniert zwar (Pointer werden intern ja ALLE nur als DWORD gehandelt), ist aber eine umständliche Methode, da ich eine Zwischenvariable verwende. Ich bräuchteptrMyFb:=ptrVoid;
eine CAST Operation wie sie in Hochsprachen üblich ist.
Mal am C, bzw. C++ angelehnt, so etwas wie: (POINTER TO FB_MY_FB) ptrVoid