ICE23
ICE23 проверяет порядок табуляции элементов управления для каждого диалогового окна.
ICE23 проверяет следующее в таблицах Dialog и Control:
- Каждая запись в таблице Dialog указывает элемент управления в столбце Control_First, который существует в диалоговом окне, указанном в столбце Dialog.
- Каждая запись в таблице Control указывает элемент управления в столбце Control_Next, который находится в том же диалоговом окне, что и элемент управления, указанный в столбце Control, или Control_Next содержит значение NULL.
- После Control_Next записей из элемента управления в элемент управления в таблице Control создается единый замкнутый цикл, который возвращается к исходному элементу управления. Не каждый элемент управления должен находиться в цикле, но цикл должен проходить через каждый элемент управления, имеющий запись в столбце Control_Next.
ICE23 выводит сообщение об ошибке, если порядок табуляции элементов управления не формирует один замкнутый цикл в диалоговом окне.
ICE23 будет публиковать следующие сообщения об ошибках для показанного примера.
- Dialog1 не имеет Control_First.
- Control_First dialog Dialog2 относится к несуществующему элементу управления ControlX.
- Диалоговое окно 3 имеет недоставленный порядок табуляции в элементе управления ControlB.
- Диалоговое окно 4 имеет неправильный порядок табуляции в элементе управления ControlC
- Диалоговое окно 5 имеет неправильный порядок табуляции в элементе управления ControlC.
- Control_Next элемента управления Dialog6.ControlC ссылается на неизвестный элемент управления.
Таблица диалогового окна (частичная)
Диалог | Control_First |
---|---|
Диалоговое окно1 | |
Диалоговое окно 2 | ControlX |
Диалоговое окно 3 | ControlA |
Dialog4 | ControlA |
Dialog5 | ControlA |
Контрольная таблица (частичная)
Диалог | Control | Control_Next |
---|---|---|
Диалоговое окно1 | ControlA | |
Диалоговое окно1 | ControlB | ControlA |
Диалоговое окно 2 | ControlA | ControlB |
Диалоговое окно 2 | ControlB | ControlA |
Диалоговое окно 3 | ControlA | ControlB |
Диалоговое окно 3 | ControlB | |
Dialog4 | ControlA | ControlB |
Dialog4 | ControlB | ControlC |
Dialog4 | ControlC | ControlB |
Dialog5 | ControlA | ControlB |
Dialog5 | ControlB | ControlC |
Dialog5 | ControlC | ControlA |
Dialog5 | ControlD | ControlA |
Dialog6 | ControlA | ControlB |
Dialog6 | ControlB | ControlC |
Dialog6 | ControlC | ControlX |
Dialog6 | ControlD | ControlA |
Чтобы устранить эти ошибки, обратите внимание на следующее в приведенных выше таблицах и внесите указанные изменения.
Не в каждой строке таблицы Dialog есть элемент управления, указанный в столбце Control_First. Измените столбец Control_First записи Dialog1 в таблице Dialog на элемент управления, который существует в Dialog1.
Не каждая строка в таблице Dialog имеет элемент управления, указанный в столбце Control_First, который существует в диалоговом окне. Измените столбец Control_First диалогового окна Dialog2 на элемент управления, который существует в Dialog2.
После Control_Next записей в таблице Control из элемента управления в элемент управления не в каждом случае создается замкнутый цикл. Измените столбец Control_Next для ControlB в Dialog3 на ControlA.
После Control_Next записей в таблице Control из элемента управления в элемент управления не приводит к первоначальному элементу управления в каждом случае. Измените столбец Control_Next для ControlC в Dialog4, чтобы он ссылаться на ControlA.
После Control_Next записи в таблице Control из элемента управления в элемент управления не проходят через все элементы управления в диалоговом окне, имеющие запись в столбце Control_Next. Измените столбец Control_Next для ControlC в Dialog5 на ControlD.
Control_Next не ссылается на допустимый элемент управления, который находится в том же диалоговом окне, что и элемент управления, указанный в столбце Control. Измените столбец Control_Next для ControlC в Dialog6, чтобы он ссылался на ControlD.