Administrators Jon Posted May 20, 2009 Administrators Share Posted May 20, 2009 3.3.1.0 (20th May, 2009) (Beta)AutoIt:- Added #757: Set defaults for MouseClick()'s x/y parameters.- Added #764: Return Pid on ProcessWait() and handle on WinWait(), WinWaitActive, WinActivate(), WinActive(), WinMove() when successful.- Added #414: better handling of OnAutoItStart/OnAutoItExit, now #OnAutoItStartRegister, OnAutoItExitRegister() and OnAutoItExitUnRegister().- Added: Better handling of AdlibEnable/AdlibDisable, now AdlibRegister(), AdlibUnRegister() and AdlibDisable().- Added #351: Reverse PixelSearch().- Added #769: FileFlush() function.- Added #333: #NoAutoIt3Execute Directive for disabling /AutoIt3ExecuteScript or /AutoIt3ExecuteLine.- Added #604: $GUI_BKCOLOR_TRANSPARENT can be used with label, group, radio, checkbox controls.- Added #135: FileSetPos(), FileGetPos() functions for moving the file pointer around.- Added #582: GUICtrlSetTip() can be used on TabItem controls. (Thanks ProgAndy)- Added #699: Shutdown() now return @error=GetLastError() when failing.- Added #461: StringReplace() from right to left if occurrence <0 as for StringInStr().- Added: GUICtrlSetColor() and GUICtrlSetBkColor() for Combo Controls.- Added: GUI without title bar (no $WS_CAPTION) can be moved with the mouse.- Added #815: Temporary variables can be passed ByRef.- Added #837: FileFindNextFile() set @extended if a directory is returned. (Thanks pdaughe)- Added #839: Shutdown() rewritten and now works properly when run as a non-interactive user.- Added: Shutdown() now takes an optional reason code.- Added #846: _PathFull() now supports strange but valid syntax where drives do not have a trailing slash.- Added #869: @MUILang macro to help MUI environment scripts. (Thanks Emiel Wieldraaijer)- Added #918: Added Quality parameter to GUICtrlSetFont() and GUISetFont().- Added: ProcessClose() return info on error.- Fixed: CtrlSetStyle listview on non selected tab. (Thanks Ultima)- Fixed #763: GUICtrlCreateIcon() create an empty icon on error. (Thanks Jos)- Fixed: no mouse move when invalid button used in MouseClick() or MouseClickDrag().- Fixed #779: infinite loop on Exit due to GUICreate() child badly created.- Fixed #774: GuiCtrlSetBkColor() bad label display. (Thanks MvGulik)- Fixed #790: Windows region constant $ERROR rename in $ERRORREGION.- Fixed: StringInStr("aaa", "aa", 2) does not return 0.- Fixed #802: Searching for controls by Height property.- Fixed: Checkbox or radio painting on tab. (Thanks einaman)- Fixed #816: data for GUI date control doc clarification. (Thanks anonymous)- Fixed #819: Crash with EventLog functions.- Fixed #814: InetGet() through a proxy requiring authentication did not work.- Fixed #813: bad handling of Windows advanced matching for [HANDLE:...] in X64 version. (Thanks bsobottke@nero.com)- Fixed #863: DirMove() extra dot. (Thanks dRsrb)- Fixed #867: UDPRecv() can return from IP/Port. (Thanks Martin, livewire)- Fixed #886: More explicit documentation that operator == is a forced string comparison.- Fixed #885: Default compared to False returned True instead of False.- Fixed #888: Send("{}}") Extra null char.- Fixed #916: Line inversion in INet.au3- Fixed: DllCall() returning 64-bit int. (Thanks wraithdu)- Fixed: GuiCtrlSetImage() after GUI resized. (Thanks JackDinn)- Fixed: DirMove() return code wrong under XP.- Fixed #931: bad GUICtrlSetResizing() for graphic control. (Thanks martin)- Fixed #934: MouseGetCursor() hogging mouse double click. (Thanks martin)- Fixed #615: License updated to be less restrictive.- Fixed #919: Remarks added to ConsoleWrite(), ConsoleWriteError() and StdinWrite() regarding how those functions handle binary data and non-ANSI characters.- Fixed #897: Documented that StringToASCIIArray() does not accept binary input (convert to a string first).- Fixed #937: Bad event handling of Opt("TrayMenuMode",1)- Changed: It is now possible to read from files opened for writing.- Changed: PCRE regular expression engine updated to 7.9.- Changed #899: ShellExecute[Wait]() no longer uses "open" as the default verb. See remarks section for those functions for more information.- Changed: Inet functions rewritten with the following additions and changes: - Removed: Long deprecate URLDownloadToFile() alias for InetGet(). - Added: HttpSetUserAgent(), InetClose(), InetGetInfo() and InetRead() functions. - Added: Multiple background downloads are now supported with InetGet(). - Added #408: New flag for ignoring SSL errors for HTTPS connections. - Added #884: Better proxy support with mode 0. - Added #949: The user-agent can be changed. - Changed: InetGet() returns a handle which must be closed. - Changed: @InetGetBytes, @InetGetActive and InetGet("abort") are deprecated and will be removed in the future.AU3Info:- Added #140: ToolsBar button infos.UDFs:- Added: _GDIPlus_BrushGetSolidColor, _GDIPlus_BrushSetSolidColor (smashly)- Added: $tagWIN32_FIND_DATA and corresponding attribute constants.- Added #868: _WinAPI_GetLayeredWindowAttributes(), _WinAPI_SetLayeredWindowAttributes(). (Thanks Prog@ndy)- Added: _Date_Time_ ... Str() can return date as yyyy/mm/dd.- Added #271: FTPEx.au3 for _FTP_...(). (Thanks ProgAndy, Wouter)- Added #932: mouse event constants in WinDowsConstants.au3. (Thanks Spiff59)- Added #952: _ArrayDisplay() extra parameter for column header text. (Thanks Zedna)- Added #957: _Assert() in Debug.au3. (Thanks Nutster)- Fixed #755: _FileReadToArray() removing empty end lines.- Fixed #773: Doc for _GUICtrlStatusBar_SetParts (Thanks Zedna)- Fixed #786: _SQLite_Exec() does not return @error. (Thanks tayoufabrice)- Fixed: Doc for _ClipBoard_SetData- Fixed #793: _WinNet_EnumResource error always returned- Fixed: _StringAddThousandsSep adding leading comma with negative numbers (Zedna)- Fixed #809: _Soundxxx() with first parameter as filename.- Fixed #850: _ExcelReadSheetToArray doesn't work with German Excel 2003 (Prog@ndy) Note: not tested with other languages- Fixed #887: Related section based on Tweaky work.- Fixed #958: _ArrayDisplay - bad centering of window after adjust its width- Fixed #951: _ArrayDisplay() speed improvement for nb entries >4000. (Thanks Zedna)- Fixed: _SoundOpen() set @error on MCI Error.- Changed: _StringBetween removed last optional param (not needed after change)(SmOke_N)- Updated: Excel docs (litlmike)- Updated: _SQLite 3.6.7 -> 3.6.14.1- Updated: _ArrayCombinations, _ArrayPermute, _ArrayUnique (litlmike)- Removed: _WinAPI_MakeDWord 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...
Inverted Posted May 20, 2009 Share Posted May 20, 2009 Great changes, especially the file reading/flushing, InetGet, Shutdown and implementing #NoAutoIt3Execute is good "secure" thinking ! When the final is out, this is gonna be my first update since I started using AutoIt Link to comment Share on other sites More sharing options...
wraithdu Posted May 20, 2009 Share Posted May 20, 2009 Wow, hell of an update. Way to go devs!!! Link to comment Share on other sites More sharing options...
weaponx Posted May 20, 2009 Share Posted May 20, 2009 - Added #837: FileFindNextFile() set @extended if a directory is returned. (Thanks pdaughe)Brilliant! Eliminates the need for calling FileGetAttrib when searching for files. Link to comment Share on other sites More sharing options...
Valik Posted May 20, 2009 Share Posted May 20, 2009 (edited) Jon forgot to post it so I will. These are the script-breaking changes:Some of the following features are deprecated. Deprecated features are no longer documented but continue to work. Deprecated features will be removed after version 3.3.2.0. It is strongly recommended that scripts relying on deprecated features be updated to work with the new behavior. Some features have already been removed and will be noted as such. AutoIt: ShellExecute() and ShellExecuteWait() no longer use the "open" verb by default. See the remarks section for those functions for more details.The return value of InetGet() has changed. It is important to read and understand the changes because it is possible to leak resources if InetGet() is used incorrectly.InetGet("abort"), @InetGetActive and @InetGetBytesRead are now deprecated. The following list shows the new functions used to access the old behavior:InetGet("abort") - Calling the new InetClose() function with a handle returned from InetGet() will abort a download.@InetGetActive - Calling the new InetGetInfo() function with no parameters returns a count of active downloads.@InetGetBytesRead - Calling the new InetGetInfo() function with a handle returned from InetGet()will return the bytes read (and more) for a download.The FtpBinaryMode option set with AutoItSetOption() has been removed. Now InetGet() takes a flag to specify the transfer mode.The URLDownloadToFile() alias for InetGet() has been removed.AdlibEnable() and AdlibDisable() are deprecated. See the new functions AdlibRegister() and AdlibUnRegister().OnAutoItStart() is deprecated. See the new pre-processor statement #OnAutoItStartRegister.OnAutoItExit() is deprecated. See the new functions OnAutoItExitRegister() and OnAutoItExitUnregister().The AutoItSetOption() option OnExitFunc has been removed. See the new functions OnAutoItExitRegister() and OnAutoItExitUnregister().UDFs: The last optional parameter for _StringBetween() has been removed.The arguments for _StringAddThousandsSep() have changed.It is important that you update any script that uses InetGet() in the background to properly close the handle. In a long running script that does multiple downloads, you will eventually crash out if you do not close the handles. Also, please rigorously test all the new Inet stuff especially multiple simultaneous downloads. I did my own tests, of course, but I was under a huge time crunch to get this done by today so there is about a 99% chance of bugs. Edited May 21, 2009 by Valik Link to comment Share on other sites More sharing options...
weaponx Posted May 20, 2009 Share Posted May 20, 2009 I would like to see more script breaking changes, keep these people on their toes. Link to comment Share on other sites More sharing options...
Administrators Jon Posted May 20, 2009 Author Administrators Share Posted May 20, 2009 but I was under a huge time crunch to get this done by todayamagad. I'm like some sort of overlord now. Xandy 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 SmOke_N Posted May 20, 2009 Moderators Share Posted May 20, 2009 _StringToHex() _HexToString() _StringReverse() Have all been changed as well. They aren't script breaking... just faster than the older versions . Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Valik Posted May 20, 2009 Share Posted May 20, 2009 amagad. I'm like some sort of overlord now.Yep. You're an asshole. Link to comment Share on other sites More sharing options...
Tlem Posted May 21, 2009 Share Posted May 21, 2009 Hello. I have noticed that the AdlibEnable function disappear in the documentation. Is it a part of script breaking ? Best Regards.Thierry Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 21, 2009 Moderators Share Posted May 21, 2009 Hello. I have noticed that the AdlibEnable function disappear in the documentation.Is it a part of script breaking ?1st post in this thread, 4th added - Added: Better handling of AdlibEnable/AdlibDisable, now AdlibRegister(), AdlibUnRegister() and AdlibDisable(). Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
JSThePatriot Posted May 21, 2009 Share Posted May 21, 2009 _StringToHex()_HexToString()_StringReverse()Have all been changed as well. They aren't script breaking... just faster than the older versions .Glad someone made these faster...I've never taken the time to go back and do that!Jarvis AutoIt Links File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out. ComputerGetInfo UDF's Updated! 11-23-2006 External Links Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more) Link to comment Share on other sites More sharing options...
Valik Posted May 21, 2009 Share Posted May 21, 2009 Hello. I have noticed that the AdlibEnable function disappear in the documentation.Is it a part of script breaking ?Oh fuck. Now why didn't the person who made that change actually tell me about it when I asked for all script-breaking changes? Pulling the documentation for a deprecated feature is a script-breaking change when we intend to remove the deprecated feature! Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted May 21, 2009 Share Posted May 21, 2009 I don't get it, how does #OnAutoItStartRegister works? When I start the example I would expect to see 3 MsgBox but only the one from OnAutoItStart shows up? .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
ProgAndy Posted May 21, 2009 Share Posted May 21, 2009 The example is wrong! It has to be#OnAutoItStartRegister "FuncName"and not#OnAutoItStartRegister("FuncName") *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes Link to comment Share on other sites More sharing options...
Valik Posted May 21, 2009 Share Posted May 21, 2009 (edited) It appears brokenGood catch, I'll fix the example. Edited May 21, 2009 by Valik Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted May 21, 2009 Share Posted May 21, 2009 The example is wrong! It has to be#OnAutoItStartRegister "FuncName"and not#OnAutoItStartRegister("FuncName")Thx ProgAndy, it works now .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
Valik Posted May 21, 2009 Share Posted May 21, 2009 I have updated the list of script-breaking changes. Link to comment Share on other sites More sharing options...
Tlem Posted May 21, 2009 Share Posted May 21, 2009 (edited) Just for my knowledge, what is the language subtlety or the reason to rename some function with register or unregister to the end of the name ?Another thing about AdlibEnable. Why AdlibEnable disappear and not AdlidDesable ?In the new help file, we have : AdlibDisableDisables the adlib functionality.But which adlib functionality ? Edited May 21, 2009 by Tlem Best Regards.Thierry Link to comment Share on other sites More sharing options...
Valik Posted May 21, 2009 Share Posted May 21, 2009 Just for my knowledge, what is the language subtlety or the reason to rename some function with register or unregister to the end of the name ?The new functions have new behavior not possible or available with the old syntax.Another thing about AdlibEnable. Why AdlibEnable disappear and not AdlidDesable ?In the new help file, we have : But which adlib functionality ?This was a mistake. AdlibDisable() should have had it's documentation pulled. I pulled it today (along with several other things that needed to be pulled). The next beta will not have documentation for any of the deprecated features. In short, don't use them. Link to comment Share on other sites More sharing options...
Recommended Posts