Jump to content

GUIOnEventMode Multi GUI Issues


Recommended Posts

I have a script where things work fine on the primary GUI, but the secondary...is more or less disfunctional.

Events set on secondary GUI for Close, Minimize don't execute. The button to exit out of an ongoing function fails as well...and from time to time the secondary GUI will stop responding.

I've spent several days, rewriting code, searching the forums...and if I came across the answer...it didn't click.

Anyways any help I could get to, would be very welcome.

The script it's self is only 144kb...but I have everything packaged up so that it's actuall usable for testing...rather than just code review.

 

Edited by Nologic
Link to comment
Share on other sites

I wasn't, but at the time, I had var's holding the handle values "$hActiveGUI".

However I have started using @GUI_WinHandle which saved me 4 or 5 lines of code compared to how I was doing things...but the problems still continue on.

*updated source*

Edited by Nologic
Link to comment
Share on other sites

Make a small reproducer without all the video stuff to figure out whether it's the GUIs or the the video stuff that's not working. Then you'll probably see that the GUIs are working, but the video stuff is not working and is blocking the entire script.

Link to comment
Share on other sites

Maybe this will help . close event from second gui works great!

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 417, 200, 192, 124)
$Button1 = GUICtrlCreateButton("Open GUI2", 112, 48, 177, 105)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            secondgui()
    EndSwitch
WEnd

Func secondgui()
    $gg = GUICreate("gui 2", 240, 95, 192, 125)
    $start = GUICtrlCreateButton("button", 18, 10, 130, 25)

    GUISetState(@SW_SHOW)

    If @error Then
        GUIDelete($gg)
    EndIf

    While 1
        $mes1 = GUIGetMsg(1)
        Select
            Case $mes1[0] = $gui_event_close And $mes1[1] = $gg
                GUIDelete($gg)
                ExitLoop
            Case $mes1[0] = $start And $mes1[1] = $gg
                MsgBox("","","Second gui button event")
        EndSelect
    WEnd
EndFunc
Edited by DocTorCoder

DocTorCoder

Link to comment
Share on other sites

Link to comment
Share on other sites

But that wasn't the question the OP was asking about.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

The base GUI stuff works fine, in my script with sudo code in it...the problem arises with all the video processing code in place. The video code doesn't lock up, but keeps on trucking along to the end.

However on the GUI part...well the second GUI, some controls don't always show up, or if they do, they will some times stop updating, or the GUI will lockup till all the video stuff is done. Other times everything works fine, except the mini, close, and exit button...which fail all the time.

I'm not understanding first off why things aren't consistently buggy, with exception of the buttons...or how I'm blocking the GUI with my video code.

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...