ICE23
ICE23 memvalidasi urutan tab kontrol untuk setiap kotak dialog.
ICE23 memvalidasi hal berikut ini dalam tabel Dialog dan tabel Kontrol:
- Bahwa setiap rekaman dalam tabel Dialog menentukan kontrol di kolom Control_First yang ada dalam kotak dialog yang ditentukan oleh kolom Dialog.
- Bahwa setiap rekaman dalam tabel Kontrol menentukan kontrol di kolom Control_Next yang berada pada dialog yang sama dengan kontrol yang tercantum di kolom Kontrol, atau Control_Next berisi nilai Null.
- Yang mengikuti entri Control_Next dari kontrol ke kontrol dalam tabel Kontrol membuat perulangan tunggal, tertutup, yang kembali ke kontrol awal. Tidak setiap kontrol harus berada dalam perulangan, tetapi perulangan harus melewati setiap kontrol yang memiliki entri di kolom Control_Next.
ICE23 memposting pesan kesalahan jika urutan tab kontrol tidak membentuk satu perulangan tertutup dalam kotak dialog.
ICE23 akan memposting pesan kesalahan berikut untuk contoh yang ditampilkan.
- Dialog1 tidak memiliki Control_First.
- Control_First dialog Dialog2 mengacu pada control ControlX yang tidak ada.
- Dialog3 memiliki urutan tab buntu pada controlB.
- Dialog4 memiliki urutan tab cacat pada controlC
- Dialog5 memiliki urutan tab cacat pada controlC.
- Control_Next kontrol tautan Dialog6.ControlC ke kontrol yang tidak diketahui.
Tabel Dialog (parsial)
Dialog | Control_First |
---|---|
Dialog1 | |
Dialog2 | ControlX |
Dialog3 | ControlA |
Dialog4 | ControlA |
Dialog5 | ControlA |
Tabel Kontrol (parsial)
Dialog | Kontrol | Control_Next |
---|---|---|
Dialog1 | ControlA | |
Dialog1 | ControlB | ControlA |
Dialog2 | ControlA | ControlB |
Dialog2 | ControlB | ControlA |
Dialog3 | ControlA | ControlB |
Dialog3 | ControlB | |
Dialog4 | ControlA | ControlB |
Dialog4 | ControlB | ControlC |
Dialog4 | ControlC | ControlB |
Dialog5 | ControlA | ControlB |
Dialog5 | ControlB | ControlC |
Dialog5 | ControlC | ControlA |
Dialog5 | Dikontrol | ControlA |
Dialog6 | ControlA | ControlB |
Dialog6 | ControlB | ControlC |
Dialog6 | ControlC | ControlX |
Dialog6 | Dikontrol | ControlA |
Untuk memperbaiki kesalahan ini, perhatikan hal berikut ini dalam tabel di atas dan buat perubahan yang ditunjukkan.
Tidak setiap baris dalam tabel Dialog memiliki kontrol yang ditentukan di kolom Control_First. Ubah kolom Control_First rekaman Dialog1 dalam tabel Dialog menjadi kontrol yang ada di Dialog1.
Tidak setiap baris dalam tabel Dialog memiliki kontrol yang ditentukan dalam kolom Control_First yang ada pada kotak dialog. Ubah kolom Control_First Dialog2 menjadi kontrol yang ada di Dialog2.
Mengikuti entri Control_Next dalam tabel Kontrol dari kontrol ke kontrol tidak membuat perulangan tertutup dalam setiap kasus. Ubah kolom Control_Next untuk ControlB di Dialog3 menjadi ControlA.
Mengikuti entri Control_Next dalam tabel Kontrol dari kontrol ke kontrol tidak mengarah kembali ke kontrol awal dalam setiap kasus. Ubah kolom Control_Next untuk ControlC di Dialog4 untuk merujuk ke ControlA.
Mengikuti entri Control_Next dalam tabel Kontrol dari kontrol ke kontrol tidak melewati setiap kontrol dalam kotak dialog yang memiliki entri di kolom Control_Next. Ubah kolom Control_Next untuk ControlC di Dialog5 menjadi Dikontrol.
Control_Next tidak merujuk ke kontrol valid yang berada dalam dialog yang sama dengan kontrol yang tercantum di kolom Kontrol. Ubah kolom Control_Next untuk ControlC di Dialog6 untuk merujuk ke ControlD.