Now I hit tab. The cursor moves correctly to the “Suffix” text box
But the Tab key also has the effect of changing the last pulldown assignment from “SharePoint” to “Teams”
If it can help you understand/find the issue, here are the generated log/output from my execution:
001000 025_000_Laptop3
001000-120 Flag_NoAlias initialised = 1
002000_Msg_Loop_ENTER
002-000-000 case_ComboA1_ENTRY
000 Check_Box_Ask.value = true
020-000 Check_Box_Ask.value = true
002-000-900 case_ComboA1_EXIT
002-400-000 case Check_Box_Ask ENTER :true
002-400-900 case Check_Box_Ask EXIT :true
002-400-000 case Check_Box_Ask ENTER :true
002-400-900 case Check_Box_Ask EXIT :true
002-000-000 case_ComboA1_ENTRY
000 Check_Box_Ask.value = true
020-000 Check_Box_Ask.value = true
002-000-900 case_ComboA1_EXIT
002-100-000 case ComboB2 ENTER :
090-010 case ComboA1 :AdminT Should be AdminT
100a case BLANK ::
110a Dlg_Control_Check_Box_Folder.value :true:
120a Check_Box_Ask.value = false
002-100-900 case ComboB2 EXIT :
002-100-900 case ComboB2 EXIT :
002-100-900 case ComboB2 EXIT :
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-300-000 case Check_Box_Folder ENTER :undefined
002-300-900 case Check_Box_Folder ENTER :undefined
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-100-000 case ComboB2 ENTER :SAP
090-010 case ComboA1 :AdminT Should be AdminT
100b case Default (Expect Empty) :SAP:
100b Dlg_Control_Check_Box_Folder.value :true: before
100b Dlg_Control_Check_Box_Folder.value :false: after
100b case Default :SAP:
100b Dlg_Control_Check_Box_Ask.value :false: before
100b Dlg_Control_Check_Box_Ask.value :false: after
002-100-900 case ComboB2 EXIT :SAP
002-100-900 case ComboB2 EXIT :SAP
002-100-900 case ComboB2 EXIT :SAP
002-300-000 case Check_Box_Folder ENTER :undefined
002-300-900 case Check_Box_Folder ENTER :undefined
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-100-000 case ComboB2 ENTER :ScreenConnect
090-010 case ComboA1 :AdminT Should be AdminT
100b case Default (Expect Empty) :ScreenConnect:
100b Dlg_Control_Check_Box_Folder.value :false: before
100b Dlg_Control_Check_Box_Folder.value :false: after
100b case Default :ScreenConnect:
100b Dlg_Control_Check_Box_Ask.value :false: before
100b Dlg_Control_Check_Box_Ask.value :false: after
002-100-900 case ComboB2 EXIT :ScreenConnect
002-100-900 case ComboB2 EXIT :ScreenConnect
002-100-900 case ComboB2 EXIT :ScreenConnect
002-300-000 case Check_Box_Folder ENTER :undefined
002-300-900 case Check_Box_Folder ENTER :undefined
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-100-000 case ComboB2 ENTER :SharePoint
090-010 case ComboA1 :AdminT Should be AdminT
100b case Default (Expect Empty) :SharePoint:
100b Dlg_Control_Check_Box_Folder.value :false: before
100b Dlg_Control_Check_Box_Folder.value :false: after
100b case Default :SharePoint:
100b Dlg_Control_Check_Box_Ask.value :false: before
100b Dlg_Control_Check_Box_Ask.value :false: after
002-100-900 case ComboB2 EXIT :SharePoint
002-100-900 case ComboB2 EXIT :SharePoint
002-100-900 case ComboB2 EXIT :SharePoint
002-300-000 case Check_Box_Folder ENTER :undefined
002-300-900 case Check_Box_Folder ENTER :undefined
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-100-000 case ComboB2 ENTER :SharePoint
090-010 case ComboA1 :AdminT Should be AdminT
100b case Default (Expect Empty) :SharePoint:
100b Dlg_Control_Check_Box_Folder.value :false: before
100b Dlg_Control_Check_Box_Folder.value :false: after
100b case Default :SharePoint:
100b Dlg_Control_Check_Box_Ask.value :false: before
100b Dlg_Control_Check_Box_Ask.value :false: after
002-100-900 case ComboB2 EXIT :SharePoint
002-100-900 case ComboB2 EXIT :SharePoint
002-100-900 case ComboB2 EXIT :SharePoint
002-200-000 case Dlg_Control_EditC3 ENTRY :
002-200-900 case Dlg_Control_EditC3 EXIT :
002-300-000 case Check_Box_Folder ENTER :undefined
002-300-900 case Check_Box_Folder ENTER :undefined
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-400-000 case Check_Box_Ask ENTER :false
002-400-900 case Check_Box_Ask EXIT :false
002-200-000 case Dlg_Control_EditC3 ENTRY :
002-200-900 case Dlg_Control_EditC3 EXIT :
002200-010 Return code = 0 0=CANCEL, 1=Ok<< Dialog Closed
002200 Msg_Loop_EXIT
002200 Msg_Loop_EXIT
002200 Msg_Loop_EXIT
003000 Process_Dialog_box_RETURN_START
003000 Process_Dialog_box_RETURN_START
003000 Process_Dialog_box_RETURN_START
003000-000 Dlg.result == 0 So exit()
var Dlg_Msg = Dlg.GetMsg();
if (!Dlg_Msg.result) break;
//
switch(Dlg_Msg.Control)
{
case "Combo_Box_Alpha1":
// Want to populate Combo_Box_Bravo2 in this case
DOpus.Output(" 002-000-000 case_ComboA1_ENTRY");
You're checking which control the messages relate to, but not which event they're telling you happened. Controls generate messages for more events than just their selections changing. For example, there are events telling you when you push tab and move focus off one control and on to another.
I wrote a wrapper for handling UI dialogs in an event driven manner. Have a look at my MsgLoopHandler. That might help to prevent errors from handling the events yourself.