ICE23

O ICE23 valida a ordem da guia de controle para cada caixa de diálogo.

O ICE23 valida o seguinte na tabela Dialog e na tabela Control:

  • Que cada registro na tabela Dialog especifica um controle na coluna Control_First que existe na caixa de diálogo especificada pela coluna Dialog.
  • Que cada registro na tabela Control especifica um controle na coluna Control_Next que está na mesma caixa de diálogo que o controle listado na coluna Control ou que Control_Next contém o valor Null.
  • Que seguir as entradas Control_Next do controle para o controle na tabela Control cria um único loop fechado que retorna ao controle inicial. Nem todo controle precisa estar no loop, mas o loop deve passar por todos os controles que têm uma entrada na coluna Control_Next.

Result

O ICE23 postará uma mensagem de erro se a ordem de tabulação dos controles não formar um único loop fechado na caixa de diálogo.

Exemplo

O ICE23 posta as seguintes mensagens de erro para o exemplo mostrado.

  • O Dialog1 não tem Control_First.
  • O Control_First da caixa de diálogo Dialog2 refere-se ao ControlX de controle inexistente.
  • O Dialog3 tem a ordem de tabulação sem saída no ControlB de controle.
  • O Dialog4 tem a ordem de tabulação malformada no ControlC
  • O Dialog5 tem a ordem de tabulação malformada no ControlC.
  • O Control_Next dos links dialog6.ControlC de controle para o controle desconhecido.

Tabela Dialog (parcial)

caixa de diálogo Control_First
Dialog1  
Dialog2 ControlX
Dialog3 ControlA
Dialog4 ControlA
Dialog5 ControlA

 

Tabela Control (parcial)

caixa de diálogo Control 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 ControlD ControlA
Dialog6 ControlA ControlB
Dialog6 ControlB ControlC
Dialog6 ControlC ControlX
Dialog6 ControlD ControlA

 

Para corrigir esses erros, observe o seguinte nas tabelas acima e faça as alterações indicadas.

Nem todas as linhas na tabela Dialog têm um controle especificado na coluna Control_First. Altere a coluna Control_First do registro Dialog1 na tabela Dialog para um controle que existe no Dialog1.

Nem todas as linhas na tabela Dialog têm um controle especificado na coluna Control_First que existe na caixa de diálogo. Altere a coluna Control_First do Dialog2 para um controle que existe no Dialog2.

Seguir as entradas de Control_Next na tabela Control do controle para o controle não faz um loop fechado em todos os casos. Altere a coluna Control_Next do ControlB no Dialog3 para ControlA.

Seguir as entradas de Control_Next na tabela Control do controle para o controle não retorna ao controle inicial em todos os casos. Altere a coluna Control_Next do ControlC no Dialog4 para referenciar o ControlA.

Seguir as entradas de Control_Next na tabela Control do controle para o controle não passa por todos os controles na caixa de diálogo que têm uma entrada na coluna Control_Next. Altere a coluna Control_Next do ControlC no Dialog5 para ControlD.

O Control_Next não se refere a um controle válido que está na mesma caixa de diálogo que o controle listado na coluna Control. Altere a coluna Control_Next do ControlC no Dialog6 para referenciar o ControlD.

Referência do ICE