Jump to content

Loz

Active Members
  • Posts

    29
  • Joined

  • Last visited

Profile Information

  • Location
    Melbourne, Australia

Recent Profile Visitors

626 profile views

Loz's Achievements

Seeker

Seeker (1/7)

2

Reputation

  1. If no source why post to Example Scripts??
  2. Is it possible to hide "Found Call() statement using unsolvable Func" messages generated bu Au3Stripper? I use Au3Stripper to strip unused variables and functions. I have been ignoring the above mentioned messages in the console when compiling, because I know they wont break my script. But I have on occasion missed valid error messages because the console has several of these "unresolvable Func" messages and I missed the new message. The error messages are typically generated when Call() & DllCallbackRegister() are encountered. I can stop the messages by placing "#Au3Stripper_Off" & "#Au3Stripper_On" before and after each offending function call, This is fine for my own code, but several UDFs I use (eg SQLite.au3, Timers.au3, AutoitObject.au3) would need to be modified and I don't really want to do that. #Au3Stripper_Off Call($funcname) #Au3Stripper_On Is there an alternate solution that avoids editing the UDFs? Thanks
  3. Thanks Jos, Confirmed, variable replacement issue I was having is now fixed.
  4. Further testing shows this is not related to toggling Au3Stripper, but occurs when any change is made to the "AutoIt3Wrapper Compile" Dialog which results in changes being made to directives in the header region. To replicate... Create minimal script with headers shown. Use the "Tools->Compile" menu. Enable UPX, as an example, and then use the "Save Only" button. The UPX directive is added, as expected, but the internal variables are replaced with their values. Before Change: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Outfile=test2.exe #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Run_After=start test.bat %in% %out% %fileversion% #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** After making the change (note the new UPX directive): #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Outfile=test2.exe #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Run_After=start test.bat D:\tmp\test.au3 test2.exe 1.0.0.0 #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** This done using the latest SciTE public release with the files from the beta directory, AutoIt3Wrapper v.2.2.0.2 SciTE v.3.4.1.0 Thanks
  5. Toggling Au3Stripper setting causes SciTE internal variables to be replaced with current values. Initial Code: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Outfile=test.exe #AutoIt3Wrapper_Res_Fileversion=1.0.0.13 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_Run_After=start test.bat %in% %out% %fileversion% #AutoIt3Wrapper_Run_After=start test.bat "%in%" "%out%" "%fileversion%" #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** After enabling Stripper: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Outfile=test.exe #AutoIt3Wrapper_Res_Fileversion=1.0.0.13 #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y #AutoIt3Wrapper_Run_After=start test.bat D:\tmp\test.au3 test.exe 1.0.0.13 #AutoIt3Wrapper_Run_After=start test.bat "D:\tmp\test.au3" "test.exe" "1.0.0.13" #AutoIt3Wrapper_Run_Au3Stripper=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  6. Thanks MHz, I thought of using autoit to pre-populate the dialog fields and may go down that path sometime in the future. But will probably leave it for adhoc, infrequent param value changes. At this time your solution of the SciTE.properties files is working well. I did modify your solution... In SciTEUser.properties I placed any UserParams that I want available across all projects (eg. /debug which opens a standalone debug console for my projects). In the Project directory SciTE.properties files I used the word LocalParams so they didn't overwrite UserParams coming from SciTEUser.properties I placed the Production and Beta run commands In the SciTEUser.properties file so they are available across all projects and modified them so the are using the UserParams from SciTEUser.properties and LocalParams from SciTE.properties (note the $(LocalParams)) # Run Production command.go.$(au3)="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "$(FilePath)" /UserParams $(UserParams) $(LocalParams) $(1) $(2) $(3) $(4) # Run Beta command.0.$(au3)="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /beta /ErrorStdOut /in "$(FilePath)" /UserParams $(UserParams) $(LocalParams) $(1) $(2) $(3) $(4) Cheers Loz
  7. Thanks MHz, That works very well and I can see some strategic directory structure changes at my end with suitable SciTE.properties files. I assume from your answer that there is no way to pre-populate the 4 fields of the SciTE Parameters dialog at SciTE startup. Loz
  8. Is it possible to set default parameters that are restored every time SciTE is started? I have several parameters I set (via the View -> Parameters menu) every time I start SciTE. These are parameters associated with a major project I have been working on and simulate the command line parameters that can be applied to the projects executable. Thanks
  9. Thanks, all tests working fine now.
  10. Using the latest AU3Stripper (1.2.0.4) there is inconsistent behavior removing unused variables using /so switch. Sometimes unused vars are not removed and other times, used vars are removed. If the first var in a line equates to a string, but is unused, all the vars on that line are stripped, unless the second var also equates to string, then all vars are kept, even the unused first var. See below... _test() Func _test() Local $a=1, $b, $c ConsoleWrite($b & @CRLF) ConsoleWrite($c & @CRLF) EndFunc $a is NOT stripped. _test() Func _test() Local $a="1", $b, $c ConsoleWrite($b & @CRLF) ConsoleWrite($c & @CRLF) EndFunc $a, $b & $c are ALL stripped _test() Func _test() Local $a="1", $b="2", $c ConsoleWrite($b & @CRLF) ConsoleWrite($c & @CRLF) EndFunc $a is NOT stripped
  11. The ProductVersion of my compiled scripts is now being populated with the AutoIt version. Prior to this update the Product Version was set to the value set by this #AutoIt3Wrapper_Res_Field=ProductVersion directive SOLVED: Further research led me to Directives.au3 file in the AutoIt3Wrapper folder which shows the #AutoIt3Wrapper_Res_ProductVersion directive. I don't know how long that has been available, but it solved my problem. Thanks
  12. Today I decided to update to AutoIt 3.3.10.2 from 3.3.8.1, and also SciTE (3.4.1) & Au3Stripper (1.2.0.1) I used Obfuscator previously in /striponly mode to remove the unused junk and reduce exe file sizes. With Au3Stripper, my scripts broke big time when compiling with numerous variables being stripped despite being used. I wrote this simple test script, with used and unused Global & Locals variables and all were stripped. Am I missing something? Original Code #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/so #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** Global $globalUsed1='1', $globalUsed2='2', $globalUnused1='3' _Used() Func _Used() Local $localUsed1=1, $localUsed2=2, $localUnused1=3 ConsoleWrite($localUsed1 & @CRLF) ConsoleWrite($localUsed2 & @CRLF) ConsoleWrite($globalUsed1 & @CRLF) ConsoleWrite($globalUsed2 & @CRLF) EndFunc Func _Unused() ConsoleWrite('_Unused' & @CRLF) EndFunc Stripped Code _Used() Func _Used() ConsoleWrite($localUsed1 & @CRLF) ConsoleWrite($localUsed2 & @CRLF) ConsoleWrite($globalUsed1 & @CRLF) ConsoleWrite($globalUsed2 & @CRLF) EndFunc I can't help but feel I am missing something obvious! Thanks
  13. I like it. Thanks for sharing
  14. Thanks Guys, Obvious now that I see the answers. Cheers
  15. I am trying to debug an issue with inetget when running under Wine. I know Wine is troublesome, but the only function of my app that is failing uses inetget to download a file. I suspect there is a component/dll in wine that needs to me installed. Since inetget is an inbuilt func, not part of a udf, I am unable to determine the dll used by inetget. Anyone know the answer? Thanks
×
×
  • Create New...