Jump to content

Recommended Posts

  • Administrators
Posted

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

  • Moderators
Posted

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

 

  • Administrators
Posted

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.

  • Moderators
Posted

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

 

Posted (edited)

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
  • Moderators
Posted (edited)


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!

Posted

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.

  • Moderators
Posted

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!

Posted (edited)

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
Posted

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)

  • Moderators
Posted

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

 

  • Administrators
Posted

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?
  • Moderators
Posted (edited)

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

 

Posted

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)

  • Administrators
Posted

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?

  • Moderators
Posted

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

 

Posted

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:

Posted

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)

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...