Analisi dello stato dell'applicazione
linkLista Watch
Quando l'esecuzione è ferma nel punto voluto è necessario poter analizzare lo stato attuale dell'applicazione. A tal fine è possibile definire watch e ispezionare oggetti complessi. Per aggiungere un watch è sufficiente selezionare l'oggetto di cui si vuole conoscere lo stato ed utilizzare il menù Debug - Aggiungi Watch (Shift-F9), oppure il corrispondente comando della toolbar del debug o infine il menù contestuale dell'oggetto stesso se visualizzato nell'editor di codice. Il nuovo watch verrà aggiunto alla lista dei watch come si vede nella seguente immagine di esempio.

Esempio di videata per la gestione dei watch
Nella prima colonna viene evidenziato il nome dell'oggetto; se si effettua un doppio click verrà aperta una videata per ispezione del contenuto dell'oggetto stesso. Nella seconda colonna si vede il valore dell'oggetto in caso di variabili, oppure una sintesi del contenuto dell'oggetto in caso di oggetti complessi. Viene visualizzata una icona verde se il valore del campo è variato dall'ultima volta che è stato letto, oppure una icona gialla se l'oggetto non è in contesto e quindi non è possibile leggerlo. Facendo doppio click su questa colonna sarà possibile modificarne il valore, se l'oggetto è una variabile semplice. La terza colonna, infine, mostra il valore precedente dell'oggetto.
Tramite il menù contestuale, o con la tastiera, è possibile cancellare i watch, inoltre è anche possibile aggiungere un watch speciale: lo 'this'. Questo watch si riferisce all'oggetto attuale, qualunque esso sia, quindi non è collegato ad un particolare oggetto di codice.
Possibili watch
Ecco la lista degli oggetti di cui è possibile interrogare lo stato:
- Variabili locali, globali e parametri di tipo primitivo.
- Variabili locali, globali e parametri di tipo oggetto, IDDocument o IDCollection.
- Variabili locali, globali e parametri di tipo Recordset.
- Riferimento al valore dei campi di pannello.
- Riferimenti a proprietà di classe innestate.
- Campi di cursore di blocchi di tipo for-each-row.
- Tabelle IMDB .
- Blocchi di codice di tipo for-each-row .
- This.
Ispezione del contenuto di oggetti complessi
Facendo doppio click sul nome di un watch, oppure aggiungendo un watch quando l'esecuzione è interrotta, si aprirà una videata per l'analisi del contenuto dell'oggetto in questione. In base al tipo di oggetto è possibile ottenere diversi tipi di watch ed in particolare:
- Per gli oggetti di tipo primitivo verrà aperta una visualizzazione testuale del valore dell'oggetto: in questo modo sarà possibile visualizzare facilmente codice xml o html contenuto in variabili stringa, oppure testi molti lunghi.
- Per gli oggetti di tipo IDDocument o IDCollection verrà visualizzato il contenuto in una finestra ad albero che contiene gli attributi, le proprietà, gli errori, le collection ed i sotto-document. E' possibile navigare nella struttura fino ai livelli inferiori.
- Per gli oggetti di tipo Tabella IMDB, recordset, e per i blocchi for-each-row sarà possibile visualizzare il contenuto in forma tabellare.

Esempio di ispezione del recordset relativo ad un ciclo su cursore
Ultima modifica: 23/03/2021 / Validità: da 7.5.3400