Compilerwarnung C0269
Meldung: Die Instanz, auf die <pointer dereferencing> zeigt, wird für virtuelle Funktionsaufrufe reinitialisiert. Stellen Sie sicher, dass <pointer dereferencing> nicht auf einen Typ zeigt, der von <base FB> abgeleitet ist.
Mögliche Fehlerursache: Es wird die Adresse eines abgeleiteten Bausteins als Adresse des Basisbausteins verwendet.
Beispiel 463. Beispiel für die Warnung
FUNCTION_BLOCK FBBase ... FUNCTION_BLOCK FBDerived EXTENDS FBBase ... FUNCTION_BLOCK FB EXTENDS Base_FB ... PROGRAM PLC_PRG VAR pinst : POINTER TO FBBase; inst2_2 : FBDerived; END_VAR pinst := ADR(inst2_2); pinst^ := inst2_2;
Die Pointer-Dereferenzierung produziert die folgende Warnung.
Meldung:
C0269: Die Instanz, auf die pinst^ zeigt, wird für virtuelle Funktionsaufrufe reinitialisiert. Stellen Sie sicher, dass pinst^ nicht auf einen Typ zeigt, der von FBBase abgeleitet ist.
: