Sign in to follow this  
Followers 0
Jon

V3.0.102 Unstable Updated

88 posts in this topic

Updated with the new function lookup code. Many many things were changed so it is extremely likely that bugs will have been introduced (such as incorrect number of parameters, and errors introduced when inline code was transferred to a function).

Much testing required :D (I've left the previous files there too just in case)

http://www.autoitscript.com/autoit3/files/unstable/autoit/

Share this post


Link to post
Share on other sites



Updated with PID functionality and ProcessSetPriority().

Valik: I've modified the code to still use a string and just attempt to convert it to an int for PID comparision (if not 0) - just for ease of porting to AutoItX.

Share this post


Link to post
Share on other sites

Great!

Include the GUI fixes?  :D

I am submitting today :huh2:

Share this post


Link to post
Share on other sites

I'm sure that you'll all be happy to know that I've gone and done it, updated to 'unstable'... now we'll see if I can make the script work to automatically update to new builds... maybe I'll even venture as far as making a GUI... wish me luck.


"I'm not even supposed to be here today!" -Dante (Hicks)

Share this post


Link to post
Share on other sites

I'm sure that you'll all be happy to know that I've gone and done it, updated to 'unstable'...  now we'll see if I can make the script work to automatically update to new builds...  maybe I'll even venture as far as making a GUI...  wish me luck.

With GUI start small. Not need to be at super advanced level first.

Super sophisticated interaction is more difficult to master ... :D

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

Updated an "ultra unstable"

http://www.autoitscript.com/autoit3/files/...ble/autoit/xxx/

3.0.102 (23rd May, 2004) (Beta)

- Updated: GUI code from JP's version 3.0.102.24 + Jon's fixes/changes

- Fixed: ToolTip() when the mouse is near the bottom of the screen

- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4 (compression level, 4=best)

- Fixed: StringIsDigit()

- Fixed: Process... functions under NT4 unable to see certain processes (Cheers, AndrewL)

Basically, JPs gone on holiday until the 30th so I started looking at the gui code and I found quite a bit that didn't "look" right and some odd things with missing break; in case statements and > 0 that should have been >= 0 - the usual stuff :0

I also couldn't work out why the WndProc for the gui was split into two seperate parts (one in application.cpp and one in guibox.cpp) and subclassed together - so i merged them into one in guibox.cpp.

I improved the tabbing and message pump for GuiMsg(0) mode - some messages still aren't processed though and still need improvement.

Anyone I've made about 50 changes and it _seems_ to work the same as the previous one but I'll keep it seperate from the normal unstable until those who use the GUI functions alot feedback.

At least I understand how it works now :D

Edited by Jon

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

Just to get this straight:

We can use these versions without the fear of a spontaneous crash?

I appreciate your hard work and thank you for creating this amazing script language.

Edited by SlimShady

Share this post


Link to post
Share on other sites

Just to get this straight:

We can use these versions without the fear of a spontaneous crash?

Nope, for testing only. v3.0.101 is the version to use if you fear crashing :D

Share this post


Link to post
Share on other sites

Hi Jon, the first thing I saw is, when I have a compiled (gui)-script then the right icon doesn't appear in the left top corner of the gui.

There is only a blank white symbol.

Maybe it's cause of changes from you or jpm, I don't know.

Regards Holger

Share this post


Link to post
Share on other sites

Hi Jon, the first thing I saw is, when I have a compiled (gui)-script then the right icon doesn't appear in the left top corner of the gui.

There is only a blank white symbol.

Maybe it's cause of changes from you or jpm, I don't know.

Regards Holger

Oops. Fixed.

I'd moved the class registration in the GUI constructor, but the global variables it relied on aren't initialized at that point... Rookie error :D

Share this post


Link to post
Share on other sites

Will there be the ability to compile for GUI and Non-GUI? I am just thinking about the size delta of compiled scripts. Would it be easy to impliment? Wouldn't you just need to have 2 AutoItSC.bin files? One for each? :D

Share this post


Link to post
Share on other sites

Updated the unstable - fixed loads of memory leaks in the GUI (i think :D )

http://www.autoitscript.com/autoit3/files/unstable/autoit/

3.0.102 (24th May, 2004) (Beta)

- Updated: GUI code from JP's version 3.0.102.24 + Jon's fixes/changes

- Fixed: ToolTip() when the mouse is near the bottom of the screen

- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4 (compression level, 4=best)

- Fixed: StringIsDigit()

- Fixed: Process... functions under NT4 unable to see certain processes (Cheers, AndrewL)

Share this post


Link to post
Share on other sites

- Added: More command line params for Aut2Exe.exe: /nodecompile and /comp 0-4  (compression level, 4=best)

wow. that's a new, cool feeling... something I asked for is going into an awesome product... :):huh2::D

"I'm not even supposed to be here today!" -Dante (Hicks)

Share this post


Link to post
Share on other sites

#18 ·  Posted (edited)

Regarding the variable speed tests. WOW! :huh2:

I compared version 3.0.101 with its array-based variables against 3.0.102 (last week's version) with binary tree storage of variables and 3.0.102 with linked list storage of variables.

My first test involved creating 1000 variables in random order and then adding all the values of the variables up, with the variables sorted. I timed how long it took to create all the variables and to add all the variables seperately. My second test created 5 variables in 100 levels of recursion then using the +, * and ^ operators 1000 times and timing how long it took to (1) create the levels, (2)run the For loop with the operators and (3) remove all levels of recursion.

In all my tests, version 3.0.101 was by far the slowest in all measurements. The binary tree was the fastest for searching, but the level of housekeeping while adding new variables slowed it down considerably. The linked list was the fastest to add new variables, and was only a little slower (<10%) than the binary tree in searching. The linked list was about 10% faster than the binary tree for coming out of recursion, perhaps due to the simpler structure of the linked list, during the pop operations.

I say we go with Jon's linked list for variable storage.

Oh Jon, if you are using the binary tree class to store the function list, do not call the balance function until you have added all the functions. This should speed things up. This was the problem with the version I created for the variables. I did not have a nice mechanism to determine when to call the balance function. :D

I will start creating the Debug configuration when 3.0.102 becomes stable enough. Should the debug version get the UPX treatment for its release version?

Edit: Spelling mistakes and correct version numbers.

Edited by Nutster

David Nuttall
Nuttall Computer Consulting

An Aquarius born during the Age of Aquarius

AutoIt allows me to re-invent the wheel so much faster.

I'm off to write a wizard, a wonderful wizard of odd...

Share this post


Link to post
Share on other sites

#19 ·  Posted (edited)

Good to know and thanks a lot for doing the tests.

For the function list I was going to get the names of all the functions first in a list (already done at the start of the script) then I was going to move the entries into an array for easy access. Then I was going to sort the list (again, all done before the script starts). It should be easy to do a binary search on that list when functions are called.

When you look at the debug stuff let me know in advance and I will set up the relevant project stuff and defines.

Cheers

Edited by Jon

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  
Followers 0