Jump to content

Aut3Stripper issue when compiling large scripts


Recommended Posts

Hi all,

I noticed lately the line number mentioned in case of an AutoIt error is not correct en sometimes succeeds the number of lines in the ScriptName_stripped.au3 file. However, if I compile the ScriptName_stripped.au3 file itself, the error line number is reported correctly. It looks as if the Wrapper makes the ScriptName_stripped.au3 but compiles the original file instead. This only happens when the script is large (my compiled script is around 2,2 MB). In small scripts, the error line number which is popped up is correct. The issue happens in both x86 and x64 compiled versions.

This hasn't been the case before and the last major change I remember is installing the latest SciTe (Version 4.2.0). I don't know if this related and I have not the old SciTe version any more to test it.

Has anyone seen this before and is there anything I can do?

I appreciate any assistance.

Link to comment
Share on other sites

  • Developers

Let me guess: You simply ignored all the warnings/errors generated by au3stripper and assumed all would be well....right? ;) 

The default behaviour has indeed change for this vary fact that everybody seem to assume those Warnings errors are there to be ignored, so now it will use the original script in case of any potential issues and will state as such in the output. I am pretty sure there will also be a warning message in your au3stripper run stating this very fact.

So, just check the generated information and in case things aren't clear than please post the total SciTE outputpane information containing all generated information. 

EDIT: There is an directive added to AutoIt3Wrapper to force the inclusion of the stripped script when you are sure things are fine anyways:

;===============================================================================================================
; Au3Stripper Settings
#AutoIt3Wrapper_Run_Au3Stripper=                 ;(Y/N) Run Au3Stripper before compilation. default=N
#Au3Stripper_Parameters=                         ; Au3Stripper parameters...see SciTE4AutoIt3 Helpfile for options
#AutoIt3Wrapper_Au3stripper_OnError=             ;(C/S/ForceUse) Continue/Stop on Errors/Continue using stripped source in Exe (Default=C)
;===============================================================================================================

so :

  • "C" will continue the compilation process and include the original script
  • "S" will stop the Autoit3Wrapper compile process
  • "F" will continue the compilation process with the Stripped Source despite the Warnings/Errors. 

Jos

 

 

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Thank you Jos.

 

 
 
 
 
Quote

 

#AutoIt3Wrapper_Au3stripper_OnError=F


 

That did the trick. When used, the script compiles and runs properly.

When I use "S" option it indeed stops compiling the script, but I see no warnings. Where are those warnings/errors generated kept?

Link to comment
Share on other sites

  • Developers

Do the compile from SciTE and the Scite OutputPane will show all information from AutoIt3Wrapper and the ran programs.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Thank you again. Normally I compile by right-clicking and selection "Compile with Option" from the context menu. Now I did it as you said and the error is mentioned in the Scite OutputPane. As stated in the help file the error is related to the Call() function inside onde of the fucntions
 

 
 
 
 
Quote

 

>### current Func: _sqlite_gettable2d

c:\program files (x86)\autoit3\include\sqlite.au3(609,1): Warning for line:$iCbRval = Call($sCallBack, $aDataRow)

-### StripOnly/StripFunc Error: Found Call() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by this Function.

 

 

Link to comment
Share on other sites

  • Developers

You should be fine as long as the Func's that the variable can contain aren't stripped from the source. This can also be handled by the "#Au3Stripper_Ignore_Funcs=" directive.
I would always advice to run the Compile from SciTE when you have modified things as you will be missing important information when you aren't.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I edited the function as I didn't need the Call() function and now everything is working as expected and there is isn't even need to use #AutoIt3Wrapper_Au3stripper_OnError=F

Quote

I would always advice to run the Compile from SciTE when you have modified things as you will be missing important information when you aren't.

Yes, this was an important lesson.

Thank you Jos.

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...