Jump to content
c.haslam

Comparing v. 13.15.0 in future version of AutoIt

Recommended Posts

c.haslam

In these days of 3.3.15.0 being the latest version, my Example script cDebug has #AutoIt3Wrapper_Version=B at its top (because it calls IsMap() and MapKeys()), and any users who call functions in my script  have the same line at its top.

If a user doesn't put this line at the top of his script, he will get IsMap(): undefined function

But one day, AutoIt will advance to 3.3.16.0. At that time, a user will no longer need the beta installed to run his script, because 3.3.16.0 will have IsMap().

I would code

If _VersionCompare(@AutoItVersion,'3.3.15.0')<0 Then
    MsgBox(0,'','bad')
    Exit
EndIf

but AU3Check detects the IsMap() error before this code gets to run.

So is there a way of telling AutoIt3Wrapper or AU3Check to detect the minimum AutoIt version required to run a script, thus not confusing the newbie? If there is, the newbie would see the appropriate error message requires at least AutoIt 3.3.15.0.

(If a user is still has 3.3.14.2, even if he has #AutoIt3Wrapper_Version=B at the top of his script, he will get IsMap(): undefined function.)

 


Spoiler

CDebug Dumps values of variables including arrays and DLL structs, to a GUI, to the Console, and to the Clipboard

 

Share this post


Link to post
Share on other sites
Jos

Things work fine for me when I run (F5) this:

#AutoIt3Wrapper_Version=B
Global $oSelf
IsMap($oSelf)

Show me your total SciTE output pane information in case you have issues.

Jos


SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites
c.haslam

Jos,

I think that you are missing my point.

Yes, your script and mine work AOK. We both have 3.3.15.0.

I am trying to put my cDebug to bed, never to have to visit it again (at least for AutoIt version problems). So I would like to find a way that, for example, a user can #include "cDebug.au3" and call one of its external-use functions, e.g. _GuiDebug(), without needing to have a beta installed.

I would also like to avoid the situation where a user hasn't upgraded his beta from 3.3.14.2 and  does have #AutoIt3Wrapper_Version=B at the top of his script. He will get the IsMap() error; he should be told "upgrade the beta".

cDebug.au3 is a UDF.

One might have a line #AutoIt3Wrapper_MinVersion=3.3.15.0

Dos this make more sense?

Edited by c.haslam

Spoiler

CDebug Dumps values of variables including arrays and DLL structs, to a GUI, to the Console, and to the Clipboard

 

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

×