Jump to content
Sign in to follow this  
programit

Multi-Process Applications

Recommended Posts

programit

I have never written a piece of code like this before, but I think it would be cool to have an AutoIt application running with many processes going on that all work together for a common goal. For instance:

Process 1: Gui running scanning for triggers from the GUI elements: Button clicks, check boxes, etc.

Process 2: Anything the GUI might launch off of those triggers.

Process 3: Error scanning. Looking for any error windows that might popup to interrupt my testing. If I got an error, it might pause the process running that caused that, handle/log the error, and start the causing process back on its way.

From what I have seen so far, basically once process 1 starts 2, 1 pretty much holds until 2 completes and returns back. Is there a way for 1 to start 2 and continue with what it needs to do? Maybe I'm a little too ambitious?

Thanks,

Programit.


What I'm using AutoIt for: I was hired as QA to write automated tests for our software. So I macro any possible situation/process a user could get themselves into, and then check to see that the outcome is what I expect.

Share this post


Link to post
Share on other sites
PsaltyDS

I have never written a piece of code like this before, but I think it would be cool to have an AutoIt application running with many processes going on that all work together for a common goal. For instance:

Process 1: Gui running scanning for triggers from the GUI elements: Button clicks, check boxes, etc.

Process 2: Anything the GUI might launch off of those triggers.

Process 3: Error scanning. Looking for any error windows that might popup to interrupt my testing. If I got an error, it might pause the process running that caused that, handle/log the error, and start the causing process back on its way.

From what I have seen so far, basically once process 1 starts 2, 1 pretty much holds until 2 completes and returns back. Is there a way for 1 to start 2 and continue with what it needs to do? Maybe I'm a little too ambitious?

Thanks,

Programit.

You seem to be describing multi-threading. AutoIt is single-threaded. If you want more than one thing going on at nearly the same time, then you need multiple AutoIt scripts running. There are some work-arounds. You should look at event mode for the GUI, which can interrupt other functions in the script to handle GUI events without requiring the script to constantly check for GuiGetMsg(). There is also AdLibEnable(), which can periodically interrupt other functions to run a monitor function.

:P


Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law

Share this post


Link to post
Share on other sites
programit

You seem to be describing multi-threading. AutoIt is single-threaded. If you want more than one thing going on at nearly the same time, then you need multiple AutoIt scripts running. There are some work-arounds. You should look at event mode for the GUI, which can interrupt other functions in the script to handle GUI events without requiring the script to constantly check for GuiGetMsg(). There is also AdLibEnable(), which can periodically interrupt other functions to run a monitor function.

:mellow:

That event mode sounds like exactly what I'm looking for. I'll look into it. Thanks!


What I'm using AutoIt for: I was hired as QA to write automated tests for our software. So I macro any possible situation/process a user could get themselves into, and then check to see that the outcome is what I expect.

Share this post


Link to post
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
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.