Jump to content

Autoit3Wrapper needs a new feature


tonycst
 Share

Recommended Posts

I am not sure of this is the right place to post this so move it if you need.:

I've come across a problem where updating autoit to later release sometimes breaks the code. (we all have)
This is caused by nothing but #Include'd library files updated with new functions etc or sometimes older #Include'd libraries deleted and replaced with new once.

To solve this problem, i think Wrapper needs an option to store every #include'd file specified in the script, store it locally along side with the script.

That way, if there is an update, it will run off the local stuff.
In case there is an update, user can update if he wants to. Maybe performance update etc.
But if there is functionality update or a replacement, user will have an option to preserve his code and modify it  as needed without having to rewrite the changes require for script to work due to changes in the autoit program files directory.

In the "Resource Update" tab, at the bottom add another check box saying
"Save all included libraries used in this script ONCE"

You dont want to have that checkbox click state saved because you only want to save those files ONCE.

Otherwise it will overwrite older libraries with new once and cause problems if installed autoit is newer then previously stored libraries.

I hope i made my self clear.

Edited by tonycst
Link to comment
Share on other sites

  • Developers

That function is called au3stripper which merges the source and includes together in one script. 
What else would be needed?

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

What ? This is completely NOT what i was looking for

Stripper removed every included library and every comment by wrapper from my script.

 

the /mo puts entire library code directy into the script instead of saving the library file localy

 

I needed to SAVE included library files along side of the script file.

If script has any libraries included, save them localy.

THat way if there is an update, script will use local libraries VS those stored in program files folder

Edited by tonycst
Link to comment
Share on other sites

  • Developers

What is this caps wording doing in these sentences and this "I want" formulation? 
Not a very open communication to say the least.

As to the matter at hand, I have no idea how this would work after updates are made with bugfixes.
Will you go through each and every script to figure out which UDF needs updating and which don'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

Why don't you use the AutoIt3Wrapper directive #AutoIt3Wrapper_Autoit3Dir?  Get the zip file version of the AutoIt version that you want to use.  It can be multiple versions in different directories.  That way you can use any version of AutoIt that you want, and that version's includes.  I currently have versions going back to 3.3.8.1 in the AutoIt directory, and use this directive to use the version that I need for the script that I am working on.  This works really well when I need to do simple bug fixes on an old script using the old version it was wrote for.  Example below.  

;~ #AutoIt3Wrapper_Autoit3Dir=C:\Program Files (x86)\AutoIt3\3.3.8.1  ;Optionally override the AutoIt3 install directory to use.
;~ #AutoIt3Wrapper_Autoit3Dir=C:\Program Files (x86)\AutoIt3\3.3.12.0  ;Optionally override the AutoIt3 install directory to use.
;~ #AutoIt3Wrapper_Autoit3Dir=C:\Program Files (x86)\AutoIt3\3.3.14.2  ;Optionally override the AutoIt3 install directory to use.
#AutoIt3Wrapper_Autoit3Dir=C:\Program Files (x86)\AutoIt3\3.3.14.3  ;Optionally override the AutoIt3 install directory to use.

This also allows you to test new versions of AutoIt without installing them.  

 

Adam

Link to comment
Share on other sites

22 minutes ago, tonycst said:

I needed to SAVE included library files along side of the script file.

Then I guess you'd have to manually move them there yourself, or modify the Stripper or Wrapper files to have it done for you automatically. Personally I would hate if this was done by default, I have enough old code laying around that I don't need broken UDFs in there too.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

1 hour ago, Jos said:

What is this caps wording doing in these sentences and this "I want" formulation? 
Not a very open communication to say the least.

As to the matter at hand, I have no idea how this would work after updates are made with bugfixes.
Will you go through each and every script to figure out which UDF needs updating and which don't?

Jos

 

 

i used CAPS to draw attention to the key word of the sentence.
I know u are looking for a reason to ban me, u just provoking me to give you one.

 

58 minutes ago, BrewManNH said:

Then I guess you'd have to manually move them there yourself, or modify the Stripper or Wrapper files to have it done for you automatically. Personally I would hate if this was done by default, I have enough old code laying around that I don't need broken UDFs in there too.

No one said it needs to be done by default. It will create problems if its done by default and EVERY time you compile the script.

Doing it manually is indeed a way of doing it, but having this option in the wrapper would be more helpful.

 

This is how i see it done.
You compile your script with  "save included libraries to script directory" checked.
Wrapper then writes into the script that libraries were saved locally.

Next time user compiles the code, you may add version check to see if local scripts are outdated and prompt user to use updated with a script-breaking risk or continue to compile using locally stored libraries instead (safe method)

This will be a great option for those who travel from one computer to another using cloud services that synk projects folder but not autoit installation.
so in case two computers have different autoit installed, they can still compile the code regardless of the version they have and trouble free.

 

Yes i can make a script that does that automatically, but its another script that will need to run before compile etc, thus making it very difficult and not practical at all.
Doing it manually would be more practical then coding a script that would do it automatically.

Adding aditional function into wrapper seems to be the only logical way to do that, as well as: imagine how many people would be happy knowing that they no longer need to worry about script breaking changes or updated libraries because those are now preserved with the project they created using those libraries ?

 

I dont understand how people dont see this as a great option to have. Much greater then including entire list of included library into the script being compiled.

I mean the function is already there, it just needs a small tweak and put those libraries in their own files along side of the script you compile and NOT inside the script its self.

Seems to me that its easier to just save those files then to inject them into the script.

Link to comment
Share on other sites

  • Moderators

tonycst,

Quote

Yes i can make a script that does that automatically, but its another script that will need to run before compile etc, thus making it very difficult and not practical at all.

Just create such a script and then use one of these existing AutoIt3Wrapper directives to run it automatically before compilation:

#AutoIt3Wrapper_Run_Before=                     ;process to run before compilation - multiple records will be processed in sequence
#AutoIt3Wrapper_Run_After=                      ;process to run after compilation - multiple records will be processed in sequence

Not at all difficult and very practical.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers
18 hours ago, tonycst said:

I know u are looking for a reason to ban me, u just provoking me to give you one.

For clarity: I have no intention whatsoever to ban anybody when have an open discussion on ideas/features, and even wasn't aware anymore we had some sort of issue in the past. This probably says something how important this was to me at the time. Having said that it does explain why you responded in that way.

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

5 hours ago, Melba23 said:

tonycst,

Just create such a script and then use one of these existing AutoIt3Wrapper directives to run it automatically before compilation:

#AutoIt3Wrapper_Run_Before=                     ;process to run before compilation - multiple records will be processed in sequence
#AutoIt3Wrapper_Run_After=                      ;process to run after compilation - multiple records will be processed in sequence

Not at all difficult and very practical.

M23

With that, i have to specify that script for every potential code i write.
Maybe this is how far user requests go, i dont know. I wont bother asking anymore. sorry.

Link to comment
Share on other sites

2 hours ago, Jos said:

For clarity: I have no intention whatsoever to ban anybody when have an open discussion on ideas/features, and even wasn't aware anymore we had some sort of issue in the past. This probably says something how important this was to me at the time. Having said that it does explain why you responded in that way.

Jos

 

You are not aware because i changed email, IP and username.
Oops, did i just give you a reason ? Pretty sure something somewhere says "this will get you banned" and you know it as god as i know my Bible.
I speak from years of experience communicating with you here.

This topic is done already so thank you.

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...