lowray1975 Posted May 27, 2011 Share Posted May 27, 2011 Hello everyone! I ran into a problem last night while trying to include a "Stop" button on my GUI based application. While I don't have the code handy to post with me now, I'll try my best to explain using sample code. I have an application that processes images located in a directory. The GUI includes a ListBox for selecting the folder to process and a start button. After selecting a folder and clicking the start button the application processes all of the images. What I wanted to do was change the Start button to a stop button, redirect the OnEvent function to a stop function and stop the image processing. Something like this: <GUI CRAP HERE> While 1 Sleep(1000) WEnd Func ProcessImagesGo() GUICtrlSetOnEvent($processbutton, "ProcessImagesStop") For Image in Images If $CancelImageProcessing Then GUICtrlSetOnEvent($processbutton, "ProcessImagesGo") $CancelImageProcessing = False Return EndIf ;Processing of Images Goes Here Next GUICtrlSetOnEvent($processbutton, "ProcessImagesGo") EndFunc Func ProcessImagesStop() $CancelImageProcessing = True EndFunc When I run the code and click the processbutton while the ProcessImagesGo function is running nothing happens until after all of the images have been processed (the For loop completes). Does anyone know of a way to allow me to stop the processing? Thanks in advance! - Josh Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted May 27, 2011 Moderators Share Posted May 27, 2011 lowray1975,The Interrupting a running function tutorial in the Wiki will explain why you are having this problem and suggest several possible solutions to solve it. As you are running a loop in the function to be interrupted, you should have no problem at all - but come back if you run into difficulties integrating a solution into your script. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
lowray1975 Posted June 1, 2011 Author Share Posted June 1, 2011 M23: I thought I searched everywhere before posting the question although I missed the d@mn wiki... Silly me. Thank you VERY much for your assistance - the wiki page is exactly what I was looking for! - Josh 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