Advertencia del compilador C0269
Mesaje: La instancia a la que apunta <desreferenciación de puntero> se reinicializará para las llamadas a funciones virtuales. Asegúrese de que <desreferenciación de puntero> no apunte a un tipo derivado de <base FB> .
Posible causa del error: La dirección de un bloque de funciones derivado se utiliza como la dirección del bloque de funciones base.
ejemplo 463. Ejemplo de la advertencia
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;
La desreferenciación del puntero produce la siguiente advertencia.
Mensaje:
C0269: La instancia a la que apunta pinst^ se reinicializará para las llamadas a funciones virtuales. Asegúrese de que pinst^ no apunte a un tipo derivado de FBBase
: