comp.lang.ada
 help / color / mirror / Atom feed
* HELP! nested CASE statement
@ 1995-04-20  0:00 Telson Cheung
  1995-04-20  0:00 ` Garlington KE
  1995-04-20  0:00 ` Robert Dewar
  0 siblings, 2 replies; 3+ messages in thread
From: Telson Cheung @ 1995-04-20  0:00 UTC (permalink / raw)


We have encountered this problem when using a debugger to step thru
one of our subprogram. Any help or sugguestion would be greatly 
appriecated.

With the following code:

---------------------------------------------------------------------
    case Hpa_Group_Status.Last_Commanded_Hpa_Band is
      when Vg_Dtypes.Band_C =>
        case Hpa_Group_Status.Last_Commanded_Hpa_Path is
          when Vg_Dtypes.Path_A =>
            Execution_Status := Hpa_C_A.Command_Execution_Status;
          when Vg_Dtypes.Path_B =>
            Execution_Status := Hpa_C_B.Command_Execution_Status;
          when others =>
            raise Invalid_Path_Id;
        end case;
      when Vg_Dtypes.Band_Ku =>
        case Hpa_Group_Status.Last_Commanded_Hpa_Path is
          when Vg_Dtypes.Path_A =>
            Execution_Status := Hpa_Ku_A.Command_Execution_Status;
          when Vg_Dtypes.Path_B =>
            Execution_Status := Hpa_Ku_B.Command_Execution_Status;
          when others =>
            raise Invalid_Path_Id;
        end case;
      when Vg_Dtypes.Band_X =>
        case Hpa_Group_Status.Last_Commanded_Hpa_Path is
          when Vg_Dtypes.Path_A =>
            Execution_Status := Hpa_X_A.Command_Execution_Status;
          when Vg_Dtypes.Path_B =>
            Execution_Status := Hpa_X_B.Command_Execution_Status;
          when others =>
            raise Invalid_Path_Id;
        end case;
      when others =>
        raise Invalid_Band_Id;
    end case;

------------------------------------------------------------------------

With the debugger, we set 
    Hpa_Group_Status.Last_Commanded_Hpa_Band := Vg_Dtypes.Band_C
    while keeping 
    Hpa_Group_Status.Last_Commanded_Hpa_Path uninitialed (ie. unknown)

when stepping thru these lines of code in the debugger, instead of raising
an Invalid_Path_Id exception, the program actually goes to 

         when Vg_Dtypes.Path_A =>
            Execution_Status := Hpa_C_A.Command_Execution_Status;

Helps needed.
Please also email response to cheung@sedsystems.ca

Thanks





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1995-04-20  0:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1995-04-20  0:00 HELP! nested CASE statement Telson Cheung
1995-04-20  0:00 ` Garlington KE
1995-04-20  0:00 ` Robert Dewar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox