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.

Справочник по ICE