Jump to content
Sign in to follow this  
Jon

AutoIt v3.3.13.9 Beta

Recommended Posts

Jon

File Name: AutoIt v3.3.13.9 Beta

File Submitter: Jon

File Submitted: 25 Jul 2014

File Category: Beta



3.3.13.9 (25th, 2014) (Beta)
AutoIt:
- Added: MapAppend() returns the index of the element added.

- Fixed: Regression with Call() and CallArgArray.
- Fixed: Regression with speed of arrays.
- Fixed: Was silently failing when passing unsupported parameters ByRef - now shows an error message.
- Fixed: Map/Object properties starting with ".E3" were incorrectly classed as a number rather than property.



Click here to download this file

  • Like 3

Share this post


Link to post
Share on other sites
Melba23

Jon,

Arrays now seem slightly faster then before - good job. :thumbsup:

MapAppend returns the integer, but as 0 is a valid return, could you arrange for -1 in case of an error? I know you set the @error flag but returning something valid as well could lead to confusion. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Jon

Jon,

Arrays now seem slightly faster then before - good job. :thumbsup:

MapAppend returns the integer, but as 0 is a valid return, could you arrange for -1 in case of an error? I know you set the @error flag but returning something valid as well could lead to confusion. ;)

M23

-1 is valid is well. as is -2000.  It uses the next largest integer that has currently been used.  Or starts at 0 if no integer keys have been used so far.

Share this post


Link to post
Share on other sites
Melba23

Jon,

Understood.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
FaridAgl

My script sometime crashed randomly with 3.3.13.8 and I didn't know what is the reason, it's fixed now in this beta.

I don't know if that was a known bug in previous beta or not, it's gone now.

Edited by FaridAgl

Share this post


Link to post
Share on other sites
JLogan3o13


My script sometime crashed randomly with 3.3.13.8 and I didn't know what is the reason, it's fixed now in this beta.

I don't know if that was a known bug in previous beta or not, it's gone now.

 

FaridAgl, could you be any less helpful? Posting your script would be a start...

Edited by JLogan3o13

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
FaridAgl

Thanks for your kind words, the script I talked about is a commercial application which works by connecting to a server (My server), I'm selling it over here.

I'm sorry about not posting it in the public, and the worst part is that I don't know which part of that was causing the crash, all I know is that the crashes are gone in the current beta.

Share this post


Link to post
Share on other sites
JLogan3o13

That is my point exactly, why even bring it up if you cannot share the script? What benefit have you brought, other than to make everyone scratch their heads?


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
FaridAgl

The only hard crash bug I fixed was for "Call". So unless your script has that in it then I have no idea.

I guess that's the case.

I'm using AutoItObject, so there is lots of Call() playing around (Executing methods).

Edited by FaridAgl

Share this post


Link to post
Share on other sites
jchd

UBound fails to detect dimensions of an empty array:

#include <Array.au3>
Global $myArr[0]
ConsoleWrite(IsArray($myArr) & "  " & UBound($myArr, 0) & "  " & UBound($myArr, 1) & @LF)

; produces
1  1  0 with the release and previous betas

1  0  0 with 3.3.13.9

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Share this post


Link to post
Share on other sites
Melba23

Jon,

UBound is failing if any dimension is set to [0] - try playing with this:

#include <Array.au3>

Global $myArr[0][1][1]
ConsoleWrite(IsArray($myArr) & " " & UBound($myArr, 0) & " " & UBound($myArr, 3) & @LF)
I get:

1 0 0 - 3.3.13.9

1 3 1 - with earlier versions
And similar results when the other dimensions are set to [0]. :(

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Jon

UBound fails to detect dimensions of an empty array:

#include <Array.au3>
Global $myArr[0]
ConsoleWrite(IsArray($myArr) & "  " & UBound($myArr, 0) & "  " & UBound($myArr, 1) & @LF)

; produces
1  1  0 with the release and previous betas

1  0  0 with 3.3.13.9
That was intentional. It didn't make sense to me that dim[0] and dim[1] gave the same ubound result of 1. Isn't 0 the expected result?
  • Like 1

Share this post


Link to post
Share on other sites
Melba23

Jon,

Not in my opinion. The array has a dimension - it is just that at present there are no elements in it. The code I posted (with multiple dimensions but only a single [0]) also returns 0 - which is self-evidently false as the others certainly contain something. I believe the previous behaviour was correct. :)

M23

Edited by Melba23

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
jchd

Jon,

That breaks down empty array semantics.

  • Like 1

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Share this post


Link to post
Share on other sites
Jon

Actually I think we are talking about different things, you are talking about the number of subscripts and I was talking about the size of a single subscript. So yeah that broke with the rewrite, I think it should be:

$dim $var[0]

Ubound($var) = 0

UBound($var, 0) = 1

Yeah?

Share this post


Link to post
Share on other sites
Melba23

Jon,

That is what I would expect to be returned. :)

M23

  • Like 1

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
czardas

The array has a dimension - it is just that at present there are no elements in it. The code I posted (with multiple dimensions but only a single [0]) also returns 0 - which is self-evidently false as the others certainly contain something.

 

I assume that something to be zero inaccessible imaginary place holders, which is probably something nontheless. I have never needed to use an array of size zero. :thumbsup:

Share this post


Link to post
Share on other sites
jchd

This will restore the previous possibility for UDFs being passed an array of unknown dimension(s) to determine how to proceed.

$aArr[0][3][5] is an array (actually a tensor!) with 3 dimensions, 0 rows of 3 columns and 5 heights.


This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

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  

×