Jump to content
Sign in to follow this  
orbs

issues after upgrade 3.3.8.1 to 3.3.10.2

Recommended Posts

orbs

ok, so i was unbelievably out of luck here. 3 days ago - apparently, just minutes before the site was put down - i decided it's time to upgrade 3.3.8.1 to 3.3.10.2

i had to put it off for some time due to large amount of scripts i have, and formulating testing plans for them, but now i was ready to upgrade. i downloaded the core & SciTe packages, and the updated wrapper 2.1.4.5 as recommended in the download page. installed them all.

i encountered some issues. as the site was off, i was not able to check if the issues i had were already addressed, so i investigated on my own. i found workable workaround, and now it's time for consultation if better solutions exist, or if someone may find my solutions helpful.

issue #1: icons added to the script with compiler directive #AutoIt3Wrapper_Res_Icon_Add= changed their order. calling GUICtrlSetImage($item_ID,@ScriptFullPath,$iIcon_ID) and similar functions produced the wrong icon. i found that the icon was in offset of 2, so if i changed $iIcon_ID to $iIcon_ID-2 the issue was fixed. it was very troublesome to change all references to icons throughout my entire development environment, so i simply added twice a blank icon before adding my icons, like this:

before:

;;#AutoIt3Wrapper_Res_Icon_Add=                   ; Filename[,LanguageCode] of ICO to be added.
#AutoIt3Wrapper_Res_Icon_Add=ver_16_blue.ico
 

after:

;;#AutoIt3Wrapper_Res_Icon_Add=                   ; Filename[,LanguageCode] of ICO to be added.
#AutoIt3Wrapper_Res_Icon_Add=icon-blank-16.ico
#AutoIt3Wrapper_Res_Icon_Add=icon-blank-16.ico
#AutoIt3Wrapper_Res_Icon_Add=ver_16_blue.ico    ; that used to be the first icon

(of course i created a real blank icon 16x16)

issue #2: obfuscator crashed one of my scripts. after some trials and many errors, it was solved by obfuscator parameter /CN=0

oddly, the obfuscator directives are not colored red like other directives in SciTe, but comply to default coloring (black for unknown words, amber for operators, blue for numbers, etc. like this:

post-47848-0-93044800-1393491710_thumb.p

issue #3: just a clarification actually: ShellExecute() may return -1 if no PID exists - what does it mean? if i get -1 did the process launch but was not able to return it's PID, or was it not launched at all? (in the help file -1 is categorized as "success").

thanks for any comment.

Share this post


Link to post
Share on other sites
JLogan3o13

Just out of curiosity, did you read through the changelog when you upgraded? A lot of changes were made between 3.3.8.1 and 3.3.10.2, and the changelog is there for a reason. Just off the top of my head, I recall there being something in there about the ShellExecute() change; willing to bet you'll find answers to your other questions as well.


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
orbs

read through the changelog i did. about ShellExecute it does not elaborate further, about the icons i did not see it mentioned (personally i'd even consider it "script-breaking"). i also did see a notice about manifest change to enable DPI-aware, which is interesting, but had not yet tested it.

Share this post


Link to post
Share on other sites
guinness

Most of your "issues" aren't related to AutoIt, but to 3rd party tools and even then they aren't really issues. With ShelExceute() it means that an error occurred launching the process. Before it returned 1 or 0, now it's the PID or -1 as 0 can be a valid PID.

With the icons you should use the name instead of integer value, which is the correct way to do it. The name values start from 200 and up I believe.


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
orbs

With ShelExceute() it means that an error occurred launching the process. Before it returned 1 or 0, now it's the PID or -1 as 0 can be a valid PID.

 

ah, ok, i understand. so i need to change lines like this:

If ShellExecute($sFile) Then

to this:

If ShellExecute($sFile)>-1 Then 

right?

(anyway, PID=0 is reserved for "System Idle Process", so definitely can not be the PID of a process launched by ShellExecute)

then the help file is misleading. it states:

Return Value

Success: the PID of the process that was launched. Or -1 if there was no PID available.

Failure: 0 and sets the @error flag to non-zero.  

while it should be:

Return Value

Success: the PID of the process that was launched, can be 0.

Failure: -1 if there was no PID available, and sets the @error flag to non-zero.  

With the icons you should use the name instead of integer value, which is the correct way to do it. The name values start from 200 and up I believe.

 

i was not aware of this possibility, this can indeed save me a lot of trouble. can you direct me to an example of how to do it?
 
 
thanks for your comments!
Edited by orbs

Share this post


Link to post
Share on other sites
guinness

Sorry I meant 1 or above is failed PID, not zero. Also it's 201 by default...http://www.autoitscript.com/autoit3/scite/docs/directives-available.html


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
orbs

 

that's cool, i did not realize i can set my own numbering order for icons! thanks!

 

I meant 1 or above is failed PID, not zero. 

 

i... don't understand. "1 or above" is good PID. the ShellExecute() own example shows it. zero is not applicable here, so -1 must be failed?

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.