ICE23

ICE23은 각 대화 상자의 컨트롤 탭 순서의 유효성을 검사합니다.

ICE23은 대화 상자 테이블컨트롤 테이블에서 다음의 유효성을 검사합니다.

  • 대화 상자 테이블의 모든 레코드는 대화 상자 열에서 지정된 대화 상자에 있는 Control_First 열의 컨트롤을 지정합니다.
  • 컨트롤 테이블의 모든 레코드가 Control 열에 나열된 컨트롤과 동일한 대화 상자에 있는 Control_Next 열의 컨트롤을 지정하거나 Control_Next에 Null 값을 포함합니다.
  • 컨트롤 테이블에서 컨트롤 간의 Control_Next 항목 다음에는 초기 컨트롤로 돌아오는 단일 폐쇄형 루프가 생성됩니다. 모든 컨트롤이 루프에 있어야 하는 것은 아니지만 루프는 Control_Next 열에 항목이 있는 모든 컨트롤을 통과해야 합니다.

결과

컨트롤의 탭 순서가 대화 상자에서 단일 폐쇄형 루프를 형성하지 않으면 ICE23에서 오류 메시지를 게시합니다.

ICE23은 표시된 예제에 대해 다음 오류 메시지를 게시합니다.

  • Dialog1에 Control_First가 없습니다.
  • dialog2 대화 상자의 Control_First는 존재하지 않는 컨트롤인 ControlX를 나타냅니다.
  • ControlB 컨트롤에서 Dialog3에 막다른 탭 순서가 있습니다.
  • ControlC 컨트롤에서 Dialog4의 탭 순서가 잘못되었습니다.
  • ControlC 컨트롤에서 Dialog5의 탭 순서가 잘못되었습니다.
  • 컨트롤 Dialog6.ControlC의 Control_Next가 알 수 없는 컨트롤에 연결합니다.

대화 상자 테이블(부분)

대화 상자 Control_First
Dialog1  
Dialog2 ControlX
Dialog3 ControlA
Dialog4 ControlA
Dialog5 ControlA

 

컨트롤 테이블(부분)

대화 상자 컨트롤 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

 

이러한 오류를 해결하려면 위의 표에서 다음을 기록하고 표시된 변경 내용을 확인합니다.

대화 상자 테이블의 모든 행에 Control_First 열에 지정된 컨트롤이 있는 것은 아닙니다. Dialog1 레코드의 Control_First 열을 Dialog1에 있는 컨트롤로 변경합니다.

대화 상자 테이블의 모든 행에 대화 상자에 있는 Control_First 열에 지정된 컨트롤이 있는 것은 아닙니다. Dialog2의 Control_First 열을 Dialog2에 있는 컨트롤로 변경합니다.

컨트롤 간의 컨트롤 테이블에서 Control_Next 항목에 따라 모든 경우에서 폐쇄형 루프가 생성되는 것은 아닙니다. Dialog3의 ControlB에 대한 Control_Next 열을 ControlA로 변경합니다.

컨트롤 간의 컨트롤 테이블에서 Control_Next 항목에 따라 모든 경우에서 초기 컨트롤로 돌아가는 것은 아닙니다. Dialog4에서 ControlC에 대한 Control_Next 열을 ControlA를 참조하도록 변경합니다.

컨트롤 간의 컨트롤 테이블에서 Control_Next 항목에 따라 Control_Next 열에 항목이 있는 대화 상자의 모든 컨트롤을 통과하는 것은 아닙니다. Dialog5의 ControlC에 대한 Control_Next 열을 ControlD로 변경합니다.

Control_Next는 Control 열에 나열된 컨트롤과 동일한 대화 상자에 있는 유효한 컨트롤을 참조하지 않습니다. Dialog6에서 ControlC에 대한 Control_Next 열을 ControlD를 참조하도록 변경합니다.

ICE 참조