SA0017: Asignación inusual a variable de puntero
Detecta asignaciones a punteros que no son direcciones (ADR
operador, variables de puntero) ni constantes 0
Justificación: Si a un puntero se le asigna un valor que no es una dirección válida, la desreferenciación del puntero conduce a una "Excepción de infracción de acceso".
Importancia: Alta
ejemplo 30. Ejemplo
PROGRAM PLC_PRG VAR pInt : POINTER TO INT; dwAddress : DWORD; END_VAR
dwAddress := dwAddress + DWORD#1; pInt := dwAddress; // SA0017
Salida en el Mensajes vista:
SA0017: Asignación inusual a variable de puntero