Jump to content

Recommended Posts

Posted

I'm having an error which sounds somewhat like:

Error: Excursion level has exceeded - Auto It it trying to prevent a stack overflow.

Can someone tell me what all this means?

And more important, how to prevent it??

Posted

that means that this is a nono

Func SomeFunction()
  SomeFunction()
EndFunc
do not call a function within itself...

<{POST_SNAPBACK}>

OK.

Any quick ideas of making the script better stuctured?

Posted

My guess is that your checking to see if you need to run the function again and then trying to run it again Do this:

$MyFunc=0

While NOT $MyFunc
$MyFunc=SomeFunction()
Wend

Func SomeFunc()
If it works
Return(1)
Else
Return(0)
EndFunc

red

Posted

What's this? :ph34r: AutoIt doesn't support recursion??? Hmmm... note to self... bug jon about adding into next release... :(

*** Matt @ MPCS

Posted

It does support recursion, but not unlimited recursion. Recursion in any well-rounded script only serves to confuse the maker of the script and is not a good coding practice. That is why the error is currently there.

Who else would I be?
Posted (edited)

I found it useful when you have to 'correct' what the user input.

E.g. a non case sensitive string, the user input, the first part of the script check if it is fully lowercase. if it is it continues otherwise it makes it lowercase and restarts.

Of course this simple case can be solved with just a IF, but sometime in more complex loops you may need it. But... RETURN!!! :ph34r:

Edited by ezzetabi
Posted

Actually it can be useful recall a func from inside itself. But, rember to Retun justĀ  line after...

<{POST_SNAPBACK}>

How's that?

Can you give me an little example code?

Posted (edited)

Little example.

It is little and it can solved elsehow, but it may give you an idea.

;$test keep a program to run
$test='program'
_Run($test)

Exit
Func _Run($input)
   If Not FileExist($input) AND FileExist($input & '.exe') Then
      _Run($input & '.exe')
      Return
   EndIf
   Run($input)
EndFunc
Edited by ezzetabi

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
  • Recently Browsing   0 members

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