Zedna Posted November 4, 2011 Posted November 4, 2011 I will remove COM from the next version of AutoIt. I can clearly remember the similar situation in past when developers removed StringAddThousandsSep() from standard UDFs just because of too much bug fix requests.I use this (latest one) function in several of my current projects and hopefully its simple workaround to copy its sources from latest Autoit where this function is available. Anyway I think this is way to hell for Autoit if it will be cripled just because of bad mood of some developers.I hope situation will not be so bad anyway and I hope Valik won't ban me now for this post. MariusN and Beege 2 Resources UDF ResourcesEx UDF AutoIt Forum Search
Moderators Melba23 Posted November 4, 2011 Moderators Posted November 4, 2011 Valik,If all I can expect for all the hard work trancexx has put into getting COM working right is a bunch of bitchingPlease do not tar us all with the same brush - it is a very small (albeit vocal) minority who are doing that. The rest of us are extremely grateful for the work that has been done to get the COM implementation to work correctly - just as we are when any other unseen "gotcha"s are fixed. If any such work to produce a more stable AutoIt results in a performance hit then I personally (although I am sure I speak for many others too) am quite prepared to put up with it. Although any Dev promises of possible future speed improvements are always welcome and make it easier to accept. M23 Mat, czardas, MariusN and 1 other 4 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
Valik Posted November 6, 2011 Posted November 6, 2011 (edited) From the code posted in ticket 2037 run on various versions of AutoIt:AutoIt Version:3.3.6.1 Time:1539.31899360917 ms AutoIt Version:3.3.7.20 Time:5075.37811937188 ms AutoIt Version:3.3.7.21 Time:1545.31017534138 ms3.3.7.21 soon. I hope you all feel stupid now for making such a big deal over this. Edited November 6, 2011 by Valik Forgot to link ticket.
Valik Posted November 6, 2011 Posted November 6, 2011 Special Note: This is an official beta release but it is not digitally signed. Only Jon has the certificate used for digital signatures and the last time I checked I was not Jon.3.3.7.21 (6th November, 2011 (Beta)AutoIt:- Fixed: Various documentation typos and grammatical errors.- Fixed #1982: Crash in FileGetShortName() and FileGetLongName().- Fixed #2046: DirGetSize("") was returning the size of the working directory root instead of -1 and setting @error.- Fixed #2037: COM execution slowdown.- Changed: Parentheses are required when invoking objects after all method names in order to have correct internal handling.- Changed: Hex() default sizing for pointer types.UDFs:- Fixed #2004: Functions that accept Control ID/Handle were not correctly documented.The following changes are script breaking changes:AutoIt:ObjName() has had a number of bug fixes and changes that may affect data returned. Built-in UDFs have been changed to accomodate this but custom scripts may need to be edited.ObjEvent() AutoIt.Error objects no longer have Raise() or Clear() methods and the properties are read-only.Int() and Hex() no longer set @error.COM methods now require parenthesis so the language can internally detect properties versus methods easier.Note: For all you whiny bitches, COM speed is almost as fast as 3.3.6.1. Thank all of you for the little faith you show in us.Report issues here.Download here. Ascend4nt, KaFu, Beege and 1 other 4
czardas Posted November 6, 2011 Posted November 6, 2011 For what it's worth, I don't always understand you guys, but I do trust your opinions. Thanks! operator64 ArrayWorkshop
trancexx Posted November 7, 2011 Posted November 7, 2011 (edited) Additional note for people with portable libras in their pockets (I have one too, so no sweat).Take results of current 3.3.7.21 version of AutoIt as something you will be measuring against in future.Speed comparisons to any version before this one wouldn't be correct and would not give correct results simply because you would be comparing apples and oranges. Rotten apples, that is.That's all. God speed, live long and prosper and may the force be with you.edit: Oh yes, I forgot... please test this version thoroughly. It's very important that we spot any possible bug in time. I would be extremely grateful and you know you want that. Thanks. Edited November 7, 2011 by trancexx There was some letters missing, go figure AdmiralAlkex and Ascend4nt 2 ♡♡♡ . eMyvnE
dv8 Posted November 7, 2011 Posted November 7, 2011 Thank you Valik and trancexx! I see my previous post made you angry and I'm the reason for the "ungrateful whiny bitches" term...You were right that I did not read what you have written before. Somehow I've missed your post where you say you know what is causing these delays. I'm sorry.And I'm not ungrateful. I have thanked you guys multiple times in each of my posts and I continue to do so. I appreciate all your hard work and did not meant to be disrespectful or ungrateful!I have 11 months old son here (my first one) and the things are not peachy, but I try to support you guys whenever I can. As I mentioned before, AutoIt is currently my main source of income, so I wish you all live long and prosper and I hope you keep doing this extraordinary thing you are doing with AutoIt!Best regards! Free Remote Desktop Software For Windows
trancexx Posted November 7, 2011 Posted November 7, 2011 (edited) Thank you Valik and trancexx! I see my previous post made you angry and I'm the reason for the "ungrateful whiny bitches" term...You were right that I did not read what you have written before. Somehow I've missed your post where you say you know what is causing these delays. I'm sorry.And I'm not ungrateful. I have thanked you guys multiple times in each of my posts and I continue to do so. I appreciate all your hard work and did not meant to be disrespectful or ungrateful!I have 11 months old son here (my first one) and the things are not peachy, but I try to support you guys whenever I can. As I mentioned before, AutoIt is currently my main source of income, so I wish you all live long and prosper and I hope you keep doing this extraordinary thing you are doing with AutoIt!Best regards!I know you meant it as an expression only, but still I will correct you with one thing. As far as I'm concerned there is no hard work involved, only pure joy and satisfaction.Your son... say Dragana says hello kisses. Edited November 7, 2011 by trancexx ♡♡♡ . eMyvnE
jchd Posted November 7, 2011 Posted November 7, 2011 @dv8, When I said "a few percent" I _finally_ wasn't that far off the current mark. 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)
Valik Posted November 7, 2011 Posted November 7, 2011 Thank you Valik and trancexx! I see my previous post made you angry and I'm the reason for the "ungrateful whiny bitches" term...You were right that I did not read what you have written before. Somehow I've missed your post where you say you know what is causing these delays. I'm sorry.And I'm not ungrateful. I have thanked you guys multiple times in each of my posts and I continue to do so. I appreciate all your hard work and did not meant to be disrespectful or ungrateful!I have 11 months old son here (my first one) and the things are not peachy, but I try to support you guys whenever I can. As I mentioned before, AutoIt is currently my main source of income, so I wish you all live long and prosper and I hope you keep doing this extraordinary thing you are doing with AutoIt!Best regards!You were not the only one who did not let the subject go. It wasn't directed entirely at you.
KaFu Posted November 7, 2011 Posted November 7, 2011 AutoIt Version:3.3.6.1 Time:1539.31899360917 ms AutoIt Version:3.3.7.20 Time:5075.37811937188 ms AutoIt Version:3.3.7.21 Time:1545.31017534138 ms Truth to be told I felt a little awkward insisting on the complains. But now you've posted the proof yourself that something really WAS fucked up along the way fixing something else. Oh well, I guess it's always just a question of perspective who really does the whining. OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2024-Oct-13) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Oct-13) HMW - Hide my Windows (2024-Oct-19) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2024-Oct-20) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16)
trancexx Posted November 7, 2011 Posted November 7, 2011 Nothing was fucked up along the way. It was not a question of perspective. ♡♡♡ . eMyvnE
Valik Posted November 7, 2011 Posted November 7, 2011 Nothing was fucked up. Nothing was broken. This is a script-breaking change and a change with potential for huge regressions and it's being made at the 11th hour before an official release. I did not want to make it this close to a release. It was clear, though, that we had to fix it or there would be a lot of idiots bitching. If 3.3.8 is broken I will not hesitate to rub it in the communities face that they should listen to me and bitch a bit less.
water Posted November 8, 2011 Posted November 8, 2011 (edited) Just for the records regarding COM speed: A script creating 5 charts with Excel 2010 on Windows 7 64bit runs in 3.2 seconds with Autoit 3.3.6.1 7.3 seconds with Autoit 3.3.7.21 16.8 seconds with Autoit 3.3.7.20 No whining - I just wanted to let you know what I got. Edited November 8, 2011 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
dv8 Posted November 8, 2011 Posted November 8, 2011 3.3.7.21 is the base of comparison from now on. Forget about 3.3.6.1 If you want to see how fast is 3.3.7.21, try comparing it with 3.3.7.20 Free Remote Desktop Software For Windows
water Posted November 8, 2011 Posted November 8, 2011 (edited) From the code posted in ticket 2037 run on various versions of AutoIt: AutoIt Version:3.3.6.1 Time:1539.31899360917 ms AutoIt Version:3.3.7.20 Time:5075.37811937188 ms AutoIt Version:3.3.7.21 Time:1545.31017534138 ms 3.3.7.21 soon. I hope you all feel stupid now for making such a big deal over this. I understand Valiks post that 3.3.7.21 should be nearly as fast as 3.3.6.1. Edit: Added the runtime for version 3.3.7.20 to my Edited November 8, 2011 by water My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
KaFu Posted December 1, 2011 Posted December 1, 2011 (edited) Let's see what struct type is, why it's added and how to use it.Got a question related to the above mentioned change in dllcall(). From some testing it seems to me like a good way to improve the performance of the call. Now I've tried to adopt it in I've changed the parameter"ptr", DllStructGetPtr($_FFX_stFileFindInfo)to"struct*", $_FFX_stFileFindInfoin the _FileFindEx.au3 include, but sadly the call seems to fail for me now. Does this happen due to the alignment of the structure?Best Regards Edited December 2, 2011 by KaFu OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2024-Oct-13) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Oct-13) HMW - Hide my Windows (2024-Oct-19) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2024-Oct-20) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16)
wraithdu Posted December 1, 2011 Posted December 1, 2011 Looks like he mangled the structure, based on his comments. He needs to fix that back to the API's spec and with respect to nested structures in the AutoIt betas, ie the DllStructCreate keywords STRUCT/ENDSTRUCT. KaFu 1
KaFu Posted December 1, 2011 Posted December 1, 2011 (edited) Thanks for your feedback! Gives me a good point to start, I'll dive into it ... Edit: Hmmm, that did not work out as planed. #region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** ConsoleWrite(_FindFile_Test() & @TAB & @error & @CRLF) Func _FindFile_Test() $tWIN32_FIND_DATA = DllStructCreate("dword;STRUCT;dword;dword;ENDSTRUCT;STRUCT;dword;dword;ENDSTRUCT;STRUCT;dword;dword;ENDSTRUCT;dword;dword;dword;dword;wchar[260];wchar[14]") ; http://msdn.microsoft.com/en-us/library/windows/desktop/aa365740(v=vs.85).aspx $aRet = DllCall("kernel32.dll", "handle", "FindFirstFileW", "wstr", @DesktopDir & "*.*", "struct*", $tWIN32_FIND_DATA) ; http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx If @error Then Return SetError(1, @error, -1) If $aRet[0] = -1 Then Return SetError(2, 0, -1) ; INVALID_HANDLE_VALUE = -1 Return $aRet[0] EndFunc ;==>_FindFile_Test Edited December 1, 2011 by KaFu OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2024-Oct-13) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Oct-13) HMW - Hide my Windows (2024-Oct-19) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2024-Oct-20) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16)
KaFu Posted December 2, 2011 Posted December 2, 2011 Can't get it to work. Either it's me or it's a bug , would be great if a Dev could take a look. expandcollapse popup#region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** ConsoleWrite(_FindFile_Test_Str_uint() & @TAB & @error & @CRLF) ConsoleWrite(_FindFile_Test_Str_dword() & @TAB & @error & @CRLF) ConsoleWrite(_FindFile_Test_Ptr_uint() & @TAB & @error & @CRLF) ConsoleWrite(_FindFile_Test_Ptr_dword() & @TAB & @error & @CRLF) Func _FindFile_Test_Str_uint() $tWIN32_FIND_DATA = DllStructCreate("uint;STRUCT;uint;uint;ENDSTRUCT;STRUCT;uint;uint;ENDSTRUCT;STRUCT;uint;uint;ENDSTRUCT;uint;uint;uint;uint;wchar[260];wchar[14]") $aRet = DllCall("kernel32.dll", "handle", "FindFirstFileW", "wstr", @DesktopDir & "*.*", "struct*", $tWIN32_FIND_DATA) If @error Then Return SetError(1, @error, -1) If $aRet[0] = -1 Then Return SetError(2, 0, -1) ; INVALID_HANDLE_VALUE = -1 DllCall("kernel32.dll", "bool", "FindClose", "handle", $aRet[0]) Return $aRet[0] EndFunc ;==>_FindFile_Test_Str_uint Func _FindFile_Test_Str_dword() $tWIN32_FIND_DATA = DllStructCreate("dword;STRUCT;dword;dword;ENDSTRUCT;STRUCT;dword;dword;ENDSTRUCT;STRUCT;dword;dword;ENDSTRUCT;dword;dword;dword;dword;wchar[260];wchar[14]") $aRet = DllCall("kernel32.dll", "handle", "FindFirstFileW", "wstr", @DesktopDir & "*.*", "struct*", $tWIN32_FIND_DATA) If @error Then Return SetError(1, @error, -1) If $aRet[0] = -1 Then Return SetError(2, 0, -1) ; INVALID_HANDLE_VALUE = -1 DllCall("kernel32.dll", "bool", "FindClose", "handle", $aRet[0]) Return $aRet[0] EndFunc ;==>_FindFile_Test_Str_dword Func _FindFile_Test_Ptr_uint() $tWIN32_FIND_DATA = DllStructCreate("uint;uint;uint;uint;uint;uint;uint;uint;uint;uint;uint;wchar[260];wchar[14]") $aRet = DllCall("kernel32.dll", "handle", "FindFirstFileW", "wstr", @DesktopDir & "*.*", "ptr", DllStructGetPtr($tWIN32_FIND_DATA)) ; [url="http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx"]http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx[/url] If @error Then Return SetError(1, @error, -1) If $aRet[0] = -1 Then Return SetError(2, 0, -1) ; INVALID_HANDLE_VALUE = -1 DllCall("kernel32.dll", "bool", "FindClose", "handle", $aRet[0]) Return $aRet[0] EndFunc ;==>_FindFile_Test_Ptr_uint Func _FindFile_Test_Ptr_dword() $tWIN32_FIND_DATA = DllStructCreate("dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;dword;wchar[260];wchar[14]") $aRet = DllCall("kernel32.dll", "handle", "FindFirstFileW", "wstr", @DesktopDir & "*.*", "ptr", DllStructGetPtr($tWIN32_FIND_DATA)) ; [url="http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx"]http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx[/url] If @error Then Return SetError(1, @error, -1) If $aRet[0] = -1 Then Return SetError(2, 0, -1) ; INVALID_HANDLE_VALUE = -1 DllCall("kernel32.dll", "bool", "FindClose", "handle", $aRet[0]) Return $aRet[0] EndFunc ;==>_FindFile_Test_Ptr_dword OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2024-Oct-13) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Oct-13) HMW - Hide my Windows (2024-Oct-19) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2024-Oct-20) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16)
Recommended Posts