Jump to content

GUI Controls Dissappearing at random


Starbug
 Share

Recommended Posts

Hi All

I am having problems with my script. I have Created a GUI that has 2 "Tool Selections" implimented.

At the top i have a Combo Box that when changed deletes are draws controls on the GUI

At the bottom i have 3 buttons (in my test script) that also delete controls and re-draws them.

Both these 2 "Selections" have been coded completely separate but sometimes after extended usage, when changing one option (Combo box or button) it seems to delete controls from the random places in my GUI. I have no idea how this could be happening.

Code below..

;;; Fault Replicator

Global $Appt_Tool_Label_1 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $I_Appt_Tool_PR_Number = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Appt_Tool_Label_3 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $I_Appt_Tool_TRepName = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Appt_Tool_Label_5 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Check_Appt_Tool_CRQ = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $D_Appt_Tool_Date = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $L_Appt_Tool_List = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $E_Appt_tool_comment = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Appt_Tool_Label_10 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $I_Appt_Tool_MobNumber = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $B_Appt_Tool_OK = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $B_Appt_Tool_Clear = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $E_Numbers_Tool = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $PRCloser_Tool_Label6 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $I_PRCloser_Tool_IFMSNum = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Group_PRCloser_Tool1 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $R_PRCloser_Tool_DSL = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $R_PRCloser_Tool_HSD = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Group_PRCloser_Tool2 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $R_PRCloser_Tool_FixTime = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $R_PRCloser_Tool_ZeroTime = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $PRCloser_Tool_Label1 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $C_PRCloser_Tool_ProbAttTo = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $PRCloser_Tool_Label2 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $C_PRCloser_Tool_EquipAff = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $PRCloser_Tool_Label3 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $C_PRCloser_Tool_Cause = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $PRCloser_Tool_Label4 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $C_PRCloser_Tool_Clearance = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $PRCloser_Tool_Label5 = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $C_PRCloser_Tool_Location = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $Cbox_PRCloser_Tool_CloseProblem = 0;;;;;;;;;;;;;;;;;;;;;;
Global $E_PRCloser_Tool_Comment = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $B_PRCloser_Tool_Clear = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Global $B_PRCloser_Tool_Go = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


Global $C_Phone_Tool_Defer_Reason = 0
Global $Phone_Tool_Defer_Label1 = 0
Global $Phone_Tool_Defer_Label2 = 0
Global $D_Phone_Tool_Defer_Date = 0
Global $C_Phone_Tool_Defer_Time = 0
Global $I_Phone_Tool_Defer_HoldQ = 0
Global $Phone_Tool_Defer_Label3 = 0
Global $Phone_Tool_Defer_Label4 = 0
Global $E_Phone_Tool_Defer_Comments = 0
Global $B_Phone_Tool_Defer_Defer = 0
Global $B_Phone_Tools_Defer_Clear = 0
Global $Phone_Tool_Release_Label1 = 0
Global $E_Phone_Tool_Release_Comments = 0
Global $B_Phones_Tool_Release_Clear = 0
Global $B_Phone_Tool_Release_go = 0
Global $Phone_Tools_Backout_Label1 = 0
Global $C_Phone_Tools_Backout_Phase = 0
Global $B_Phone_Tool_Backout_Go = 0
Global $Phone_Tools_Backout_Label2 = 0
Global $E_Phone_Tools_Backout_Comments = 0

#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#Include <GuiCombobox.au3>

Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)     ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
AutoItSetOption ("MouseCoordMode", 0) ; 0 = relative coords to the active window
Opt("PixelCoordMode", 0)        ;1=absolute, 0=relative, 2=client
Opt("TrayMenuMode",1)           ;0=append, 1=no default menu, 2=no automatic check, 4=menuitemID  not return
Opt("TrayOnEventMode",1)        ;0=disable, 1=enable

$GUI_Main = GUICreate("Test" , 570, 897, 1, 1, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS))
GUISetIcon(@ScriptDir & "\BB LT Interface.exe")
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
$C_Tool_Selection = GUICtrlCreateCombo("Tool Selection", 10, 32, 170, 25, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "Appts Tool|PR Closer")
GUICtrlSetOnEvent(-1, "Combo1Change")
$Tray_Exit = TrayCreateItem ("Exit")
TrayItemSetOnEvent(-1, "Form1Close")
$B_Phone_DeferPR = GUICtrlCreateButton("Defer", 95, 590, 75, 25, 0)
GUICtrlSetOnEvent(-1, "B_Phone_DeferPRClick")
$B_Phone_Release = GUICtrlCreateButton("Release", 175, 590, 75, 25, 0)
GUICtrlSetOnEvent(-1, "B_Phone_ReleaseClick")
$B_Phone_backout = GUICtrlCreateButton("Back-Out", 255, 590, 75, 25, 0)
GUICtrlSetOnEvent(-1, "B_Phone_backoutClick")
GUISetState(@SW_SHOW, $GUI_Main)


Combo1Change()


While 1
    Sleep(150)
WEnd

Func Form1Close()
    Exit
EndFunc


Func B_Phone_backoutClick()
destroy_Phone_tools()
Phone_Tool_Backout()
EndFunc


Func B_Phone_DeferPRClick()
destroy_Phone_tools()
Phone_Tool_Defer()
EndFunc


Func B_Phone_ReleaseClick()
destroy_Phone_tools()
Phone_Tool_release()
EndFunc

Func Combo1Change()
    $Combo1_Data = GUICtrlRead($C_Tool_Selection)
    If $Combo1_Data = "Tool Selection" Then
        destroy_all_tools()
        Common_numbers()
    ElseIf $Combo1_Data = "Appts Tool" Then
        destroy_all_tools()
        Appt_Tool_Create()
    ElseIf $Combo1_Data = "PR Closer" Then
        destroy_all_tools()
        PRCloser_Tool_Create()
    EndIf
EndFunc

Func Common_numbers()
    GUISwitch($GUI_Main)
    $numbers = "Temp ID1" & @CRLF & "Temp Number 1" & @CRLF & "Temp Comments 1" & @CRLF & @CRLF
    $numbers &= "Temp ID2" & @CRLF & "Temp Number 2" & @CRLF & "Temp Comments 1" & @CRLF & @CRLF
    $numbers &= "Temp ID3" & @CRLF & "Temp Number 2" & @CRLF & "Temp Comments 1" & @CRLF & @CRLF
    $E_Numbers_Tool = GUICtrlCreateEdit("", 10, 64, 177, 523, BitOR($ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetData(-1, $numbers)
EndFunc

Func Appt_Tool_Create()
GUISwitch($GUI_Main)
Dim $timeslots[5]
$timeslots[0] = "0800 to 1200"
$timeslots[1] = "1000 to 1400"
$timeslots[2] = "1300 to 1700"
$timeslots[3] = "1700 to 1900"
$timeslots[4] = "COB"
$Appt_Tool_Label_1 = GuiCtrlCreateLabel("Number:", 10, 60, 80, 20)
$I_Appt_Tool_PR_Number = GuiCtrlCreateInput("", 150, 60, 80, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 7)
$Appt_Tool_Label_3 = GuiCtrlCreateLabel("name", 10, 90, 80, 20)
$I_Appt_Tool_TRepName = GuiCtrlCreateInput("", 150, 90, 80, 20)
$Appt_Tool_Label_5 = GuiCtrlCreateLabel("Appointment Time", 10, 120, 100, 20)
$Check_Appt_Tool_CRQ = GuiCtrlCreateCheckbox("CRQ", 170, 120, 50, 20)
$D_Appt_Tool_Date = GuiCtrlCreateDate("Date", 10, 140, 180, 20)
$L_Appt_Tool_List = GuiCtrlCreateList("",10, 170, 180, 80)
For $i = 0 To 4
    GUICtrlSetData($L_Appt_Tool_List, $timeslots[$i])
Next
$E_Appt_tool_comment = GuiCtrlCreateEdit("", 10, 250, 180, 60)
$Appt_Tool_Label_10 = GuiCtrlCreateLabel("Mobile Number (optional)", 10, 320, 200, 20)
$I_Appt_Tool_MobNumber = GuiCtrlCreateInput("", 10, 340, 120, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 10)
$B_Appt_Tool_OK = GuiCtrlCreateButton("OK", 10, 370, 80, 20)
$B_Appt_Tool_Clear = GuiCtrlCreateButton("Clear", 170, 370, 80, 20)
EndFunc

Func PRCloser_Tool_Create()
    GUISwitch($GUI_Main)
$PRCloser_Tool_Label6 = GUICtrlCreateLabel("IFMS Number", 10, 57, 80, 17)
$I_PRCloser_Tool_IFMSNum = GUICtrlCreateInput("", 160, 56, 81, 21, $ES_NUMBER)
GUICtrlSetLimit(-1, 7)
$Group_PRCloser_Tool1 = GUICtrlCreateGroup("PR Type", 10, 79, 169, 41)
$R_PRCloser_Tool_DSL = GUICtrlCreateRadio("DSL", 10, 95, 73, 17)
$R_PRCloser_Tool_HSD = GUICtrlCreateRadio("HSD", 176, 95, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group_PRCloser_Tool2 = GUICtrlCreateGroup("Date/Time", 10, 121, 169, 41)
$R_PRCloser_Tool_FixTime = GUICtrlCreateRadio("Fix Time", 10, 137, 65, 17)
$R_PRCloser_Tool_ZeroTime = GUICtrlCreateRadio("Zero Time", 176, 137, 65, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$PRCloser_Tool_Label1 = GUICtrlCreateLabel("Problem Attributed To:", 10, 167, 109, 17)
$C_PRCloser_Tool_ProbAttTo = GUICtrlCreateCombo("", 10, 184, 170, 25, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
$PRCloser_Tool_Label2 = GUICtrlCreateLabel("Equipment Affected:", 10, 215, 100, 17)
$C_PRCloser_Tool_EquipAff = GUICtrlCreateCombo("", 10, 232, 170, 25, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
$PRCloser_Tool_Label3 = GUICtrlCreateLabel("Cause:", 10, 263, 37, 17)
$C_PRCloser_Tool_Cause = GUICtrlCreateCombo("", 10, 280, 170, 25, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
$PRCloser_Tool_Label4 = GUICtrlCreateLabel("Clearance:", 10, 311, 55, 17)
$C_PRCloser_Tool_Clearance = GUICtrlCreateCombo("", 10, 328, 170, 25, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
$PRCloser_Tool_Label5 = GUICtrlCreateLabel("Location:", 10, 359, 48, 17)
$C_PRCloser_Tool_Location = GUICtrlCreateCombo("", 10, 376, 170, 25, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
GUICtrlSetData(-1, "NLI", "NLI")
$Cbox_PRCloser_Tool_CloseProblem = GUICtrlCreateCheckbox("Close Problem?", 10, 408, 97, 17)
$E_PRCloser_Tool_Comment = GUICtrlCreateEdit("", 10, 432, 169, 100, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
$B_PRCloser_Tool_Go = GUICtrlCreateButton("Go!", 176, 539, 75, 25, 0)
$B_PRCloser_Tool_Clear = GUICtrlCreateButton("Clear Form", 10, 539, 75, 25, 0)
EndFunc

Func Phone_Tool_release()
GUISwitch($GUI_Main)
$Phone_Tool_Release_Label1 = GUICtrlCreateLabel("Comments", 160, 656, 53, 17)
$E_Phone_Tool_Release_Comments = GUICtrlCreateEdit("", 160, 680, 233, 129, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
$B_Phones_Tool_Release_Clear = GUICtrlCreateButton("Clear", 405, 784, 75, 25, 0)
$B_Phone_Tool_Release_go = GUICtrlCreateButton("Release", 490, 784, 75, 25, 0)
EndFunc

Func Phone_Tool_Defer()
GUISwitch($GUI_Main)
$C_Phone_Tool_Defer_Reason = GUICtrlCreateCombo("", 220, 666, 185, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
_GUICtrlComboBox_DeleteString(-1, 0) ; removed the name of the combo box from the list of values
GUICtrlSetData(-1, "CPU   -   Customer premises unavailable|CUV   -   Customer Unavailable|CWR   -   Customer wont release|IBS   -   Awaiting IBS|OCF   -   Other Carrier Fault|WCC   -   Waiting Customer contact", "WCC   -   Waiting Customer contact")
$Phone_Tool_Defer_Label1 = GUICtrlCreateLabel("Defer Reason:", 120, 667, 73, 17)
$Phone_Tool_Defer_Label2 = GUICtrlCreateLabel("Defer Until:", 120, 699, 57, 17)
$D_Phone_Tool_Defer_Date = GUICtrlCreateDate("", 220, 698, 186, 21)
$C_Phone_Tool_Defer_Time = GUICtrlCreateCombo("", 416, 698, 121, 21, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
_GUICtrlComboBox_DeleteString(-1, 0) ; removed the name of the combo box from the list of values
GUICtrlSetData($C_Phone_Tool_Defer_Time, "0731|1200|1600|2359", "2359")
$I_Phone_Tool_Defer_HoldQ = GUICtrlCreateInput("", 220, 730, 121, 21)
$Phone_Tool_Defer_Label3 = GUICtrlCreateLabel("Hold Queue:", 120, 731, 64, 17)
$Phone_Tool_Defer_Label4 = GUICtrlCreateLabel("Defer Comments:", 120, 763, 85, 17)
$E_Phone_Tool_Defer_Comments = GUICtrlCreateEdit("", 220, 762, 321, 97, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
$B_Phone_Tool_Defer_Defer = GUICtrlCreateButton("Defer", 490, 730, 75, 25, 0)
$B_Phone_Tools_Defer_Clear = GUICtrlCreateButton("Clear", 399, 730, 75, 25, 0)
EndFunc

Func Phone_Tool_Backout()
GUISwitch($GUI_Main)
$Phone_Tools_Backout_Label1 = GUICtrlCreateLabel("Phase-", 100, 664, 37, 17)
$C_Phone_Tools_Backout_Phase = GUICtrlCreateCombo("", 160, 664, 73, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
_GUICtrlComboBox_DeleteString(-1, 0) ; removed the name of the combo box from the list of values
GUICtrlSetData(-1, "OPN|RST", "OPN")
$B_Phone_Tool_Backout_Go = GUICtrlCreateButton("Go", 380, 760, 75, 25, 0)
$Phone_Tools_Backout_Label2 = GUICtrlCreateLabel("Comments", 100, 696, 53, 17)
$E_Phone_Tools_Backout_Comments = GUICtrlCreateEdit("", 160, 696, 185, 89, BitOR($ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_VSCROLL))
EndFunc

Func destroy_all_tools()
    GUICtrlDelete($E_Numbers_Tool)
    GUICtrlDelete($Appt_Tool_Label_1)
    GUICtrlDelete($I_Appt_Tool_PR_Number)
    GUICtrlDelete($Appt_Tool_Label_3)
    GUICtrlDelete($I_Appt_Tool_TRepName)
    GUICtrlDelete($Appt_Tool_Label_5)
    GUICtrlDelete($Check_Appt_Tool_CRQ)
    GUICtrlDelete($D_Appt_Tool_Date)
    GUICtrlDelete($L_Appt_Tool_List)
    GUICtrlDelete($E_Appt_tool_comment)
    GUICtrlDelete($Appt_Tool_Label_10)
    GUICtrlDelete($I_Appt_Tool_MobNumber)
    GUICtrlDelete($B_Appt_Tool_OK)
    GUICtrlDelete($B_Appt_Tool_Clear)
    GUICtrlDelete($Group_PRCloser_Tool1)
    GUICtrlDelete($Group_PRCloser_Tool2)
    GUICtrlDelete($PRCloser_Tool_Label1)
    GUICtrlDelete($PRCloser_Tool_Label2)
    GUICtrlDelete($PRCloser_Tool_Label3)
    GUICtrlDelete($PRCloser_Tool_Label4)
    GUICtrlDelete($PRCloser_Tool_Label5)
    GUICtrlDelete($PRCloser_Tool_Label6)
    GUICtrlDelete($B_PRCloser_Tool_Clear)
    GUICtrlDelete($B_PRCloser_Tool_Go)
    GUICtrlDelete($E_PRCloser_Tool_Comment)
    GUICtrlDelete($I_PRCloser_Tool_IFMSNum)
    GUICtrlDelete($R_PRCloser_Tool_DSL)
    GUICtrlDelete($R_PRCloser_Tool_HSD)
    GUICtrlDelete($R_PRCloser_Tool_FixTime)
    GUICtrlDelete($R_PRCloser_Tool_ZeroTime)
    GUICtrlDelete($C_PRCloser_Tool_ProbAttTo)
    GUICtrlDelete($C_PRCloser_Tool_EquipAff)
    GUICtrlDelete($C_PRCloser_Tool_Cause)
    GUICtrlDelete($C_PRCloser_Tool_Clearance)
    GUICtrlDelete($C_PRCloser_Tool_Location)
    GUICtrlDelete($Cbox_PRCloser_Tool_CloseProblem)
EndFunc

Func destroy_Phone_tools()
    GUICtrlDelete($C_Phone_Tool_Defer_Reason)
    GUICtrlDelete($Phone_Tool_Defer_Label1)
    GUICtrlDelete($Phone_Tool_Defer_Label2)
    GUICtrlDelete($Phone_Tool_Defer_Label3)
    GUICtrlDelete($Phone_Tool_Defer_Label4)
    GUICtrlDelete($D_Phone_Tool_Defer_Date)
    GUICtrlDelete($C_Phone_Tool_Defer_Time)
    GUICtrlDelete($I_Phone_Tool_Defer_HoldQ)
    GUICtrlDelete($E_Phone_Tool_Defer_Comments)
    GUICtrlDelete($B_Phone_Tool_Defer_Defer)
    GUICtrlDelete($B_Phone_Tools_Defer_Clear)
    GUICtrlDelete($Phone_Tool_Release_Label1)
    GUICtrlDelete($E_Phone_Tool_Release_Comments)
    GUICtrlDelete($B_Phones_Tool_Release_Clear)
    GUICtrlDelete($B_Phone_Tool_Release_go)
    GUICtrlDelete($Phone_Tools_Backout_Label1)
    GUICtrlDelete($C_Phone_Tools_Backout_Phase)
    GUICtrlDelete($B_Phone_Tool_Backout_Go)
    GUICtrlDelete($Phone_Tools_Backout_Label2)
    GUICtrlDelete($E_Phone_Tools_Backout_Comments)
EndFunc

Quickest way to replicate the issue is to do the below steps

1) Randomly click on the 3 buttons at the bottom for about 15 seconds

2) Change the Combo box at the top to a different tool

You will notice that these 2 tool selections are completely separate.

Repeat steps 1) and 2) until clicking a button make some of the GUI controls to disappear from the Combo box tool OR changing the combo box makes some of the Button tools controls to disappear

I can replicate this every time in about 30sec to 1 min of clicking/changing

Once these controls are randomly disappearing, it seem that it will continue donig this every time i change the combo box or click a new button.

This issue is tested on about 15 PC here running XP and 1 PC running Vista

Hopefully somebody can point me to an already know fault or fault with my coding in order to resolve this.

I am currently still stripping this GUI further to removed un-needed code (such as the options at the top). Hopefully removing on of these fixes the problem and then it can be investigated further. I will also be changing some of the Options used for GUI creation in case these are having an issue.

Also of note, it appears that this is not a graphical glitch. if i try and do something in the script that needs the GUI element (such as guictrlsetdata) then the script will crash

Link to comment
Share on other sites

I don't see any problem in your code.

Just GUISwitch is not needed by my opinion because you use only one main GUI here.

Also Try to use standard Windows Tab controls (GUICtrlCreateTab,GUICtrlCreateTabItem)

You can have all needed controls created and Tab only switch their visibility (AutoIt does this for you automatically)

so instead of your Combo use GUICtrlCreateTab,GUICtrlCreateTabItem

Link to comment
Share on other sites

Hi

I had tabs in the past. The GUISwitch is sill in there as a "hangover" from when i was doing it this way.

My script is much much more complicated then the above replicator. It is actually a main GUI that is the size of my screen with only a menu and the Combo box. then after load it has code to determine what "Job" the script needs to do and load the rest of the GUI to match. In effect, the entire GUI changes all except the Tool Selection combo box.

I found that when using tabs the screen would flicker when drawing new controls (i think it was due to the GUISwitch) and it seemed that the above issue would happen more frequently when using tabs. i also removed them until Bug #110 is fixed

If i was to put them back in i would have Tabs inside Tabs, and back when i wrote up the GUI i was not comfortable using it this way. There is actually 7 buttons at the bottom of my "Real" script and 8 options in the combo box

A friend of mine also has his control drawn up in the same way as this (using GUICtrlDelete) and he is having no issue. Unfortunately i have not looked at the differences in the scripts between the 2 of us.

If it comes down to it, i can use TABS but i would consider it a workaround and is not ideal for my script.

Thanx for your help. Does anybody have any other ideas? I have still yet to strip down this script more, bit busy here @ work

Link to comment
Share on other sites

  • Moderators

This is generally behavior of controls overlapping (whether it be a label overlapping a button or any other type of control overlapping another control).

Edited by SmOke_N

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

Re: Overlapping controls

these controls are being deleted. if another part of the script attempts to use these controls the script will crash. For example, in the "Real" Script i have an embedded IE control. when this bug sometimes deletes the Web Browser control, the script will crash with a COM error when i try and, for example, do a navigate or refresh on the object

Zedna: Can you please post some info about your PC. OS version ect...

So far it is happening on about 15-20 PC's here @ work with windows XP SP2, and 1 tested PC with Vista SP1

Thanx all

Link to comment
Share on other sites

Zedna: Can you please post some info about your PC. OS version ect...

So far it is happening on about 15-20 PC's here @ work with windows XP SP2, and 1 tested PC with Vista SP1

Thanx all

XP SP2 CZ here at work.

EDIT: Now I can confirm BUG. After pressing Phone_Tool_release some controls placed at top were deleted.

Edited by Zedna
Link to comment
Share on other sites

re-done script with show/hide instead and it works OK.

I feel my script looks a little messy now tho, with all the GUI controls created at the start

i feel this is a work around, but can somebody tell me if what i have done with create/delete is not intended to work? if it is intended to be a viable way to create "temporary" controls then it appears it isn't working.

remember i have across all views in the "real" script, 15 buttons that create controls this way and 8 option in the combo box creating controls this way. I feel i will have to create functions to draw then controls and functions to show/hide them just to keep the script "Clean"

IN SHORT

Fixed with show/hide

BUT is create/delete is not intended to work this way? if it is intended to be a viable way to create "temporary" controls then it appears it isn't working.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...