Administrators Jon Posted July 25, 2014 Administrators Share Posted July 25, 2014 File Name: AutoIt v3.3.13.9 BetaFile Submitter: JonFile Submitted: 25 Jul 2014File Category: Beta3.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 santeri, czardas and Werty 3 Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 25, 2014 Moderators Share Posted July 25, 2014 Jon,Arrays now seem slightly faster then before - good job. 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 Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 25, 2014 Author Administrators Share Posted July 25, 2014 Jon, Arrays now seem slightly faster then before - good job. 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. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 25, 2014 Moderators Share Posted July 25, 2014 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 Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
FaridAgl Posted July 25, 2014 Share Posted July 25, 2014 (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 July 25, 2014 by FaridAgl http://faridaghili.ir Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted July 25, 2014 Moderators Share Posted July 25, 2014 (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 July 25, 2014 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 More sharing options...
FaridAgl Posted July 25, 2014 Share Posted July 25, 2014 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. http://faridaghili.ir Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted July 25, 2014 Moderators Share Posted July 25, 2014 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 More sharing options...
Administrators Jon Posted July 25, 2014 Author Administrators Share Posted July 25, 2014 The only hard crash bug I fixed was for "Call". So unless your script has that in it then I have no idea. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
FaridAgl Posted July 25, 2014 Share Posted July 25, 2014 (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 July 25, 2014 by FaridAgl http://faridaghili.ir Link to comment Share on other sites More sharing options...
jchd Posted July 26, 2014 Share Posted July 26, 2014 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 hereRegExp tutorial: enough to get startedPCRE 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 More sharing options...
Moderators Melba23 Posted July 26, 2014 Moderators Share Posted July 26, 2014 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 versionsAnd 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 Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 26, 2014 Author Administrators Share Posted July 26, 2014 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? czardas 1 Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 26, 2014 Moderators Share Posted July 26, 2014 (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 July 26, 2014 by Melba23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
jchd Posted July 26, 2014 Share Posted July 26, 2014 Jon, That breaks down empty array semantics. trancexx 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 hereRegExp tutorial: enough to get startedPCRE 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 More sharing options...
Administrators Jon Posted July 26, 2014 Author Administrators Share Posted July 26, 2014 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? Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 26, 2014 Moderators Share Posted July 26, 2014 Jon,That is what I would expect to be returned. M23 czardas 1 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
czardas Posted July 26, 2014 Share Posted July 26, 2014 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. operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
jchd Posted July 26, 2014 Share Posted July 26, 2014 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 hereRegExp tutorial: enough to get startedPCRE 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 More sharing options...
Administrators Jon Posted July 26, 2014 Author Administrators Share Posted July 26, 2014 Try this: AutoIt3_Array.exe Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now