File Name: AutoIt v3.3.9.6 Beta
File Submitter: Jon
File Submitted: 10 Jul 2013
File Category: Beta
Other Downloads
Most of the changes to the main AutoIt code by trancexx. Most of the UDF and helpfile changes by the MVPs, Thanks
Note: Although the feature set is roughly correct, things may be added or removed so please treat this very much as a work in progress. There are constant "discussions" ongoing in the MVP forum about the best way to do things
3.3.9.6 (10 July, 2013) (Beta)
AutoIt:
- Added: Interpreter accepts 64bit hex numbers.
- Added: Keyword Null.
- Added #488: Third parameter for ObjGet() function to specify object instance.
- Added: Compound assignment operators for object properties.
- Added #1191: Explicit size of arrays optional for explicit initialization.
- Added: Array access on expression: StringSplit("a,b", ",")[1]
- Added: Dot access on expression: ObjCreate("Shell.Application").GetSystemInformation("DirectoryServiceAvailable")
- Added: Empty arrays.
- Added: Functions are now first class objects which means variables can "point" to them and the function can be called through the variable.
- Added: Built-in functions that take a callback now be passed directly in addition to the old method of passing as a string. Built-in functions can also be passed now (be careful that the function you pass matches what the caller expects).
- Added: C++ style ternary operators: Local bResult = ("foo" = "bar") ? True : False
- Added: Expression as default function parameter.
- Added: With...EndWith can be used on expressions having dot-access.
- Added: Nested "With...EndWith".
- Added: Call calls built-in functions.
- Added: ByRef with call function.
- Added: Support for more COM VARIANT types.
- Changed: Removed Windows 2000 support. Minimum supported OS is now Windows XP RTM / Windows Server 2003.
- Changed: upx.exe from 3.07 -> 3.09.
- Changed: PCRE regular expression engine updated to 8.33.
- Changed: ReDim works on arrays declared as static.
- Changed: Run-time errors on objects no longer fatal (execution of the script is not halted).
- Changed: Allowing multiple COM Error Handlers. Last one registered and alive gets called.
- Changed: VT_NULL VARIANT converts to Null keyword (previously empty string).
- Fixed #2067: -2147483648 not stored as int32.
- Fixed #2003: ProcessWaitClose() using too much CPU.
- Fixed #2076: COM VARIANT not correctly set for boolean True.
- Fixed #2015: DllCallbackRegister() mangles floating point numbers under x64.
- Fixed: x64 DllCall not setting double type parameters correctly.
- Fixed: DllCallbackRegister() not returning floating point types correctly.
- Fixed: Different issues with Static keyword.
- Fixed #2078: Error in com expression.
- Fixed #2073: Unexpected termination with ContinueLoop.
- Fixed #1485: Unexpected termination with ContinueCase.
- Fixed: Crash in ObjEvent() for ByRef object parameters.
- Fixed #2068: Repeated calls to Acos() no longer produce strange results. NOTE: This fix increases the size of AutoIt by approximately 60KB.
- Fixed: ObjGet() fails validating class identifier properly when first parameter for the function is specified.
- Fixed #2111: RunAs() could fail even if a user had the correct permissions to use it.
- Fixed #1395: DLLCallbacks on Exit.
- Fixed: Ptr() returns null pointer for objects.
- Fixed #1319: Hang at exit for RichEdit user controls.
- Fixed #2138: Fixed GUICtrlRead() on dummy controls was corrupting strings and possibly crashing AutoIt.
- Fixed #1760: #OnAutoItStartRegister ignores single quoted function names.
- Fixed #2146: Crash when closing AutoIt when started from a console window.
- Fixed: DLLStruct type forgotten in comparison operations.
- Fixed: "struct" type parameter in DllCall overwrites possibly following parameters.
- Fixed #1566: Array as its own element issue.
- Fixed #1551: Crash the script when changing array.
- Fixed: ReDim allows initialization to non-array.
- Fixed #2166: StringToASCIIArray() and StringFromASCIIArray() did not correctly return an empty string when the start index is greater than the end index.
- Fixed #1901: 32-bit compiled scripts now work from the system32 directory on 64-bit Windows.
- Fixed #2157: ProcessList() would crash if there were more than 512 running processes.
- Fixed #2215: Bad syntax check for default function parameters.
- Fixed #2222: Non-ASCII characters not allowed in object properties/methods.
- Fixed #2235: ProcessGetStats() defaulted to using the current process if an invalid process was specified.
- Fixed #2253: Ping() returns success with no connection.
- Fixed #1498: #RequireAdmin endless loop for disabled UAC.
UDFs:
- Added: _WinAPI_GetProcAddress() function.
- Added #2126: Documentation remark about _ArrayDisplay being able to display a maximum of 65530 items.
- Added #1158: WinAPIEx integrated, splitted under WinAPI*.au3.
- Added #2250: DirMove to the related section of DirCopy.
- Added #2155: Missing documentation for the default working directory of Run/RunWait.
- Added #2224: Optional parameter to _FileReadToArray to return the array count in the first element.
- Added #2114: Disabling and enabling the redrawing message to increase the speed of displaying _ArrayDisplay. (Only noticeable on large arrays.)
- Added #2120: Disabling and enabling the redrawing message to increase the speed of deleting items with _GUICtrlListView_DeleteAllItems. (Only noticeable when deleting many items in a ListView.)
- Added #966: Optional parameter to return the full path of the file/folder in _FileListToArray.
- Added #2193: _StringTitleCase, to create a title case string.
- Added #2263: _Crypt_GenRandom, fills a buffer with random data.
- Changed #2117: _FileCountLines writing to a temporary array to calculate the number of lines in a file.
- Changed: _FileListToArray to accept the Default keyword to use the default parameters.
- Changed: _FileReadToArray to parse the file using a regular expression. Now various line endings (not recommended) are displayed correctly in the array.
- Changed: Word UDF was completely re-written. Function names changed from _Word* to _Word_*. THIS IS A SCRIPT BREAKING CHANGE.
- Changed: _Max and _Min functions now use the ternary operator.
- Changed: Re-wrote _ReplaceStringInFile by removing the need to write to a temporary array. (@error values 4, 5 and 6 have been removed, please check the documentation.)
- Changed: Re-wrote _GetIP for improved efficency and added http://www.myexternalip.com/raw to find the external IP address.
- Changed: _SQLite 3.7.2.0 -> 3.7.16.2
- Changed: IE3.au3 v3.0-0 to v3.0-1 (see header info for changes)
- Fixed #2077: hwnd safety check in _GUICtrlRichEdit_Create()
- Fixed #2088: _ArrayDisplay not handling Default parameters correctly.
- Fixed #2112: "Report Log Window" unresponsive when the script is closed.
- Fixed: _GUICtrlRichEdit_* documentation error return codes.
- Fixed #1970: _FTP_ListToArray() fails to retrieve Dir or File only.
- Fixed #2084: Clipboard not being closed if an error occurred with _ClipBoard_SetDataEx.
- Fixed #2125: Writing a 2-dimensional array would only write the first two columns of the array.
- Fixed #2070: Unexpected crash on certain systems when using _GUICtrlStatusBar_GetText.
- Fixed #2132: Documentation of _WinAPI_GetModuleHandle and the parameter to return the handle of the calling process. (Use the Null keyword, not 0.)
- Fixed #2162: Documentation link in the IE Management section was broken for _IEFormElementCheckBoxSelect.
- Fixed #2170: _ArrayDisplay fails handling arrays with no elements.
- Fixed: _PathMake not appending backslash to the root path.
- Fixed #2223: Incorrect UDF being referenced in _WordErrorHandlerRegister.
- Fixed #2252: _GUICtrlListView_DeleteAllItems failed to remove items created using _GUICtrlListView_AddItem on an AutoIt native listview.
- Fixed #1861: _ArrayDisplay incorrectly displayed an array when using the $sHeader parameter and the array contained the default separator.
- Fixed: Using non-supported characters in the file prefix for _TempFile.
- Fixed #2186: Documentation of _WinNet_AddConnection* and $sLocalName. (Use the Null keyword or an empty string, not 0.)
- Fixed #2148: Crash when passing a number instead of a string.
- Fixed #2219: _ExcelReadSheetToArray would cause AutoIt to hang when reading a protected worksheet.
- Fixed #2242: Unable to write the 0th element in _FileWriteFromArray. Now the Default keyword is supported for the parameters $iBase and $iUBound, therefore use this instead of the value 0 for default parameters. (Please check the documentation.)
- Fixed #2218: AutoIt crash when using _GUICtrlListView_SetGroupInfo before _GUICtrlListView_SetItemGroupID had been called.
- Fixed #1996: _GUICtrlListView_SimpleSort failed to retain the ItemParam of an item.
- Fixed #1759: Strange listview sort.
- Fixed #2268: _StringReverse unable to reverse unicode characters.
- Fixed #2298: Failing to detect when EnumDisplayDevices returns 0.
- Fixed: _FileWriteFromArray failing to pass the $aArray parameter as a constant reference.
- Fixed: $tagREBARBANDINFO not working on XP, due referencing parameters intended for Vista and above.
- Fixed #2305: Reports the wrong width and height of the desktop when using default parameters.
- Fixed #2335: _WinAPI_EnumWindows() and _WinAPI_EnumWindowsPopup() order
- Fixed #2347: _WinAPI_GetMonitorInfo() wrong data.
- Removed #2174: Explicitly checking if the source and insert strings for _StringInsert were strings and forcing an @error return value. (@error values 2 and 3 have been removed, please check the documentation.)
- Removed #2187: Forcing _GUICtrlRichEdit_Create to create a richedit control in a positive position. (@error values 103 and 104 have been removed, please check the documentation.)
- Removed #2172: Select...EndSelect statement and replaced with an If...EndIf as well as optimised the code.
- Removed: Documentation and example for _Iif. Scripts should be updated to use ternary operators instead.
- Removed: _ArrayCreate from Array.au3.
Au3Check:
- Added: Generating error for hex numbers longer than 16 characters.
- Added: Compound assignment operators for object properties.
- Added: Array access on expression
- Added: Dot access on expression
- Changed: Message case changed to support SciTE inline errors.
- Changed: An error is now generated for non-supported file encodings (Previous behavior was to silently pass the script).
- Changed: Au3Check version numbers now match AutoIt's.
- Changed: Explicit size of arrays optional for explicit initialization.
- Fixed #2113: Object's properties in names of keywords treated as keywords.
- Fixed #2141: #IgnoreFunc was generating an incorrect error.
Au3Record:
- Fixed #2083: There is no longer an error about a missing DLL.
- Fixed #2337: Support of non english keyboard.
AutoIt3Help:
- Changed: Manifest resource suggests Windows common controls v6.0.
- Changed: Version number to 1.0.0.3.
AutoItX:
- Fixed: Crash in AU3_PixelSearch when function fails.