ICE23
ICE23 convalida l'ordine di tabulazioni del controllo per ogni finestra di dialogo.
ICE23 convalida quanto segue nella tabella Dialog e Nella tabella Control:
- Che ogni record nella tabella Dialog specifica un controllo nella colonna Control_First presente nella finestra di dialogo specificata dalla colonna Dialog.
- Che ogni record nella tabella Control specifica un controllo nella colonna Control_Next che si trova nella stessa finestra di dialogo del controllo elencato nella colonna Control o Control_Next contiene il valore Null.
- Ciò che segue le voci Control_Next dal controllo al controllo nella tabella Control crea un ciclo singolo, chiuso, che torna al controllo iniziale. Non tutti i controlli devono trovarsi nel ciclo, ma il ciclo deve passare attraverso ogni controllo che ha una voce nella colonna Control_Next.
Risultato
ICE23 pubblica un messaggio di errore se l'ordine di tabulazione dei controlli non forma un singolo ciclo chiuso nella finestra di dialogo.
Esempio
ICE23 pubblica i messaggi di errore seguenti per l'esempio mostrato.
- Dialog1 non ha Control_First.
- Control_First della finestra di dialogo Dialog2 fa riferimento all'inesistente controllo ControlX.
- Dialog3 ha un ordine di tabulazione dead-end nel controllo ControlB.
- Dialog4 ha un ordine di tabulazione non valido nel controllo ControlC
- Dialog5 ha un ordine di tabulazione non valido nel controllo ControlC.
- Control_Next di controllo Dialog6.ControlC collega al controllo sconosciuto.
Tabella di dialogo (parziale)
Finestra di dialogo | Control_First |
---|---|
Finestra di dialogo1 | |
Finestra di dialogo2 | ControlX |
Finestra di dialogo3 | ControlA |
Finestra di dialogo4 | ControlA |
Finestra di dialogo5 | ControlA |
Tabella di controllo (parziale)
Finestra di dialogo | Control | Control_Next |
---|---|---|
Finestra di dialogo1 | ControlA | |
Finestra di dialogo1 | ControlB | ControlA |
Finestra di dialogo2 | ControlA | ControlB |
Finestra di dialogo2 | ControlB | ControlA |
Finestra di dialogo3 | ControlA | ControlB |
Finestra di dialogo3 | ControlB | |
Finestra di dialogo4 | ControlA | ControlB |
Finestra di dialogo4 | ControlB | ControlloC |
Finestra di dialogo4 | ControlloC | ControlB |
Finestra di dialogo5 | ControlA | ControlB |
Finestra di dialogo5 | ControlB | ControlloC |
Finestra di dialogo5 | ControlloC | ControlA |
Finestra di dialogo5 | ControlloD | ControlA |
Finestra di dialogo6 | ControlA | ControlB |
Finestra di dialogo6 | ControlB | ControlloC |
Finestra di dialogo6 | ControlloC | ControlX |
Finestra di dialogo6 | ControlloD | ControlA |
Per correggere questi errori, tenere presente quanto segue nelle tabelle precedenti e apportare le modifiche indicate.
Non tutte le righe della tabella Dialog hanno un controllo specificato nella colonna Control_First. Modificare la colonna Control_First del record Dialog1 nella tabella Dialog in un controllo presente in Dialog1.
Non tutte le righe della tabella Dialog hanno un controllo specificato nella colonna Control_First presente nella finestra di dialogo. Modificare la colonna Control_First di Dialog2 in un controllo presente in Dialog2.
Seguendo le Control_Next voci della tabella Control dal controllo al controllo non viene eseguito un ciclo chiuso in ogni caso. Modificare la colonna Control_Next per ControlB in Dialog3 in ControlA.
Dopo la Control_Next voci della tabella Control dal controllo al controllo non torna al controllo iniziale in ogni caso. Modificare la colonna Control_Next per ControlC in Dialog4 per fare riferimento a ControlA.
Dopo la Control_Next voci della tabella Controllo dal controllo al controllo non passa ogni controllo nella finestra di dialogo con una voce nella colonna Control_Next. Modificare la colonna Control_Next per ControlC in Dialog5 in ControlD.
Control_Next non fa riferimento a un controllo valido che si trova nella stessa finestra di dialogo del controllo elencato nella colonna Controllo. Modificare la colonna Control_Next per ControlC in Dialog6 per fare riferimento a ControlD.
Argomenti correlati