comp.lang.ada
 help / color / mirror / Atom feed
From: cheung@SEDSystems.ca (Telson Cheung)
Subject: HELP! nested CASE statement
Date: 1995/04/20
Date: 1995-04-20T00:00:00+00:00	[thread overview]
Message-ID: <3n6e5a$iqj@io.innovplace.saskatoon.sk.ca> (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





             reply	other threads:[~1995-04-20  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-04-20  0:00 Telson Cheung [this message]
1995-04-20  0:00 ` HELP! nested CASE statement Robert Dewar
1995-04-20  0:00 ` Garlington KE
replies disabled

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