Opened 17 years ago
Closed 17 years ago
#409 closed Bug (No Bug)
Checkbox check goes to Select Case while not programmed to do so
Reported by: | Triblade | Owned by: | |
---|---|---|---|
Milestone: | Component: | AutoIt | |
Version: | 3.2.13.3 | Severity: | None |
Keywords: | Cc: |
Description
First, this script is a copied script of somebody I tried to help url: http://www.autoitscript.com/forum/index.php?showtopic=74538
Go to the menu, choose A. Then a new GUI is made and the old one deleted.
Then you see 3 checkboxes. When I press the 3rd one ('C') the Case $msg = $A (the Case where the second GUI is made) is run by again.
I can't figure out why. I think this is a bug.
Why? Because when $Start = GUICtrlCreateButton is put before $Checkbox1 = GUICtrlCreateCheckbox it just works fine.
Also if $how = GUICtrlCreateButton is uncommented there is no fault anymore.
#include <GUIConstants.au3> Dim $Checkbox1, $Checkbox2, $Checkbox3 HotKeySet("{F1}", "How") $gui = GUICreate("Update Addons - Menu", 300, 300) ;$how = GUICtrlCreateButton( "How To Use", 0, 10) $Start = GUICtrlCreateButton("Start Selected", 281, 370 , 120, 30) $Menu = GUICtrlCreateMenu ("Menu") $A = GUICtrlCreateMenuitem ("A",$Menu) GUISetState (@SW_SHOW) While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $Msg = $Start $Read = GUICtrlRead($Checkbox1);start If $Read = $GUI_CHECKED Then RunWait("notepad") Sleep(2000) EndIf $Read = GUICtrlRead($Checkbox2);start If $Read = $GUI_CHECKED Then RunWait('"' & @ProgramFilesDir & '\Internet Explorer\IEXPLORE.EXE"') Sleep(2000) EndIf;end $Read = GUICtrlRead($Checkbox3) If $Read = $GUI_CHECKED Then RunWait("notepad") Sleep(2000) EndIf Case $msg = $A msgbox(0,"","Second GUI") ;$title = WinGetTitle( "Update Mods -") Guidelete($gui) $gui2 = GUICreate("Update Addons - A", 700, 500) $Checkbox1 = GUICtrlCreateCheckbox("A", 20, 5) $Checkbox2 = GUICtrlCreateCheckbox("B", 20, 25) $Checkbox3 = GUICtrlCreateCheckbox("C", 20, 45) $Start = GUICtrlCreateButton("Start Selected", 281, 370 , 120, 30) GUISetState (@SW_SHOW) EndSelect Wend Func quit() exit EndFunc Func How() msgbox(0, "title", "text") EndFunc
Attachments (0)
Change History (2)
comment:1 Changed 17 years ago by Jpm
comment:2 Changed 17 years ago by Jpm
- Resolution set to No Bug
- Status changed from new to closed
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.
in fact when you delete first gui and recreate a new one the controlid of the new one are the same as the one of the first one so your msg loop will getevent and the corresponding old code will be executed