ICE23
O ICE23 valida a ordem de tabulação de controle para cada caixa de diálogo.
O ICE23 valida o seguinte na tabela de diálogo e na tabela controle de :
- Que cada registro na tabela de diálogo especifica um controle na coluna Control_First que existe na caixa de diálogo especificada pela coluna Diálogo.
- Que cada registro na tabela Controle especifica um controle na coluna Control_Next que está na mesma caixa de diálogo que o controle listado na coluna Control ou Control_Next contém o valor Nulo.
- Isso após o Control_Next entradas do controle para controlar na tabela Controle faz um loop único, fechado, que volta para o 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.
Resultado
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 postaria as seguintes mensagens de erro para o exemplo mostrado.
- A caixa de diálogo1 não tem Control_First.
- Control_First da caixa de diálogo Dialog2 refere-se ao controlX inexistente.
- Dialog3 tem ordem de tabulação sem saída no ControlB de controle.
- Dialog4 tem ordem de tabulação malformada no ControlC
- A caixa de diálogo5 tem ordem de tabulação malformada no ControlC de controle.
- Control_Next de controle, o Dialog6.ControlC é vinculado a um controle desconhecido.
da Tabela de Diálogo (parcial)
Diálogo | Control_First |
---|---|
Caixa de diálogo1 | |
Caixa de diálogo2 | ControlX |
Caixa de diálogo3 | ControlA |
Caixa de diálogo4 | ControlA |
Caixa de diálogo5 | ControlA |
tabela de controle de (parcial)
Diálogo | Controle | Control_Next |
---|---|---|
Caixa de diálogo1 | ControlA | |
Caixa de diálogo1 | ControlB | ControlA |
Caixa de diálogo2 | ControlA | ControlB |
Caixa de diálogo2 | ControlB | ControlA |
Caixa de diálogo3 | ControlA | ControlB |
Caixa de diálogo3 | ControlB | |
Caixa de diálogo4 | ControlA | ControlB |
Caixa de diálogo4 | ControlB | ControlC |
Caixa de diálogo4 | ControlC | ControlB |
Caixa de diálogo5 | ControlA | ControlB |
Caixa de diálogo5 | ControlB | ControlC |
Caixa de diálogo5 | ControlC | ControlA |
Caixa de diálogo5 | Controld | ControlA |
Caixa de diálogo6 | ControlA | ControlB |
Caixa de diálogo6 | ControlB | ControlC |
Caixa de diálogo6 | ControlC | ControlX |
Caixa de diálogo6 | Controld | ControlA |
Para corrigir esses erros, observe o seguinte nas tabelas acima e faça as alterações indicadas.
Nem todas as linhas da tabela de diálogo têm um controle especificado na coluna Control_First. Altere a coluna Control_First do registro Dialog1 na tabela De diálogo para um controle que existe no Dialog1.
Nem todas as linhas da tabela de diálogo 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 Controle do controle para o controle não faz um loop fechado em todos os casos. Altere a coluna Control_Next para ControlB no Dialog3 para ControlA.
Seguir as entradas de Control_Next na tabela Controle do controle para o controle não leva de volta ao controle inicial em todos os casos. Altere a coluna Control_Next para ControlC em Dialog4 para fazer referência ao ControlA.
Seguir as entradas Control_Next na tabela Controle do controle para o controle não passa por todos os controles na caixa de diálogo com uma entrada na coluna Control_Next. Altere a coluna Control_Next para ControlC no Dialog5 para ControlD.
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 para ControlC no Dialog6 para fazer referência ao ControlD.
Tópicos relacionados