La funzione Event() utilizzata per intercettare i messaggi di Windows (WM_xxx) richiede che la procedura di callback accetti esattamente 4 parametri (`nMessage, wParam, lParam, nControl`).
WL-EVENT-SIGNATURE
→
Il compilatore segnala la duplicazione di una procedura globale o locale con il medesimo nome e lista parametri; in WLanguage le procedure globali devono avere nomi univoci nel progetto.
WL-PROC-DUP
→
Una procedura richiama se stessa direttamente o indirettamente senza una condizione di terminazione valida, saturando lo stack delle chiamate del thread corrente.
WL-STACK-OVERFLOW
→
Se il codice eseguito nella procedura richiamata da TimerSys() impiega più tempo dell'intervallo configurato, la coda messaggi si satura provocando il freeze visivo delle finestre.
WL-TIMER-REENTRANT
→
Due thread creati con ThreadExecute() attendono reciprocamente il rilascio di una sezione critica o segnale tramite ThreadWait(), bloccando permanentemente l'esecuzione in background.
WL-THREAD-DEADLOCK
→
L'accesso a una proprietà o metodo (`MyObject.Property`) genera un errore critico di runtime se la variabile oggetto non è stata inizializzata con `MyObject = new MyClass`.
WL-NULL-REF
→
L'errore Invalid parameter type compare quando una procedura o una funzione WLanguage riceve un valore incompatibile con la dichiarazione prevista. Il problema può essere un tipo automatico non quello atteso, un valore Null, una conversione implicita non ammessa o una firma cambiata senza aggiornare i chiamanti. La correzione rende esplicita la conversione e aggiorna la firma in modo coerente.
Invalid parameter type
→
Dichiarare una stringa con dimensione statica (`s is string on 20`) provoca il troncamento silenzioso di tutti i caratteri eccedenti durante le operazioni di concatenazione.
WL-STR-TRUNCATED
→