tff2 Posted February 16, 2013 Share Posted February 16, 2013 Hi everyone, I created a au3 with ~30 Buttons, ~30 Labels and ~30 Inputs. For each button i created an Event. So far it works fine... If I click button1, the script starts a function which get´s the value of input1 and fills all other input fields with values, tries to connect to other pc´s, changes names of buttons depending on online or offline pc´s and so on... This works also fine... But if I want to click for example button2 while func button1 is running, it only starts the func button2 AFTER func button1 is done... Is there any way to change this ? Many thanks for your help! Here are some parts of my script: GUICreate('Tool v' & FileGetVersion(@ScriptName),470,705) GUISetOnEvent($GUI_EVENT_CLOSE,'SpecialEvents') GUISetOnEvent($GUI_EVENT_MINIMIZE,'SpecialEvents') GUISetOnEvent($GUI_EVENT_RESTORE,'SpecialEvents') GUISetState(@SW_SHOW) $Button_GetData=GUICtrlCreateButton('Get Data',10,10,100) GUICtrlSetOnEvent($Button_GetData,'Button_GetData') $Data_GetData=GUICtrlCreateInput('',115,10,105,'',$ES_CENTER) $Label_GetData=GUICtrlCreateLabel('',225,15,30,15) $Button_ExternalIP=GUICtrlCreateButton('Externe IP',10,40,100) GUICtrlSetOnEvent($Button_ExternalIP,'Button_ExternalIP') $Data_ExternalIP=GUICtrlCreateInput('',115,40,105,'',$ES_CENTER) $Label_ExternalIP=GUICtrlCreateLabel('',225,45,30,15) ...... Func Button_GetData() $ip='10.' & StringLeft(GUICtrlRead($Data_GetData),2) & '.' & StringRight(GUICtrlRead($Data_GetData),2) & '.' ... GUICtrlSetData($Data_ExternalIP,$ip & '51') If Ping($ip & '1',1000) Then GUICtrlSetData($Label_ExternalIP,'online') GUICtrlSetColor($Label_ExternalIP,$color_green) Else GUICtrlSetData($Label_ExternalIP,'offline') GUICtrlSetColor($Label_ExternalIP,$color_red) EndIf ... Link to comment Share on other sites More sharing options...
PhoenixXL Posted February 17, 2013 Share Posted February 17, 2013 (edited) The Ping function takes time and since Autoit is single-threaded it gets stucked at the commandTo make it Asynchronous command line(external execution) would be requiredManadar has implemented such a wrapper check it outSomething similar Trancexx has even done Regards Edited February 17, 2013 by PhoenixXL My code: PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners. MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now