Jump to content

AutoIt v3.3.13.9 Beta


Jon
 Share

Recommended Posts

  • Administrators

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

Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
Share on other sites

  • Administrators

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.

Link to comment
Share on other sites

  • Moderators

Jon,

Understood.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
Share on other sites

  • Moderators


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

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • Moderators

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?

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
Share on other sites

  • Administrators

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?
Link to comment
Share on other sites

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
Share on other sites

Jon,

That breaks down empty array semantics.

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)

Link to comment
Share on other sites

  • Administrators

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?

Link to comment
Share on other sites

  • Moderators

Jon,

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

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see 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

 

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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)

Link to comment
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
 Share

  • Recently Browsing   0 members

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