tonycst Posted February 13, 2018 Share Posted February 13, 2018 (edited) 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 February 13, 2018 by tonycst Link to comment Share on other sites More sharing options...
Developers Jos Posted February 13, 2018 Developers Share Posted February 13, 2018 (edited) That function is called au3stripper which merges the source and includes together in one script. What else would be needed? Jos Edited February 13, 2018 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 More sharing options...
tonycst Posted February 13, 2018 Author Share Posted February 13, 2018 (edited) 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 February 13, 2018 by tonycst Link to comment Share on other sites More sharing options...
Developers Jos Posted February 13, 2018 Developers Share Posted February 13, 2018 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 More sharing options...
AdamUL Posted February 13, 2018 Share Posted February 13, 2018 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 More sharing options...
BrewManNH Posted February 13, 2018 Share Posted February 13, 2018 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 GudeHow 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 More sharing options...
tonycst Posted February 13, 2018 Author Share Posted February 13, 2018 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 More sharing options...
Moderators Melba23 Posted February 14, 2018 Moderators Share Posted February 14, 2018 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 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 Link to comment Share on other sites More sharing options...
Developers Jos Posted February 14, 2018 Developers Share Posted February 14, 2018 (edited) 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 February 14, 2018 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 More sharing options...
tonycst Posted February 14, 2018 Author Share Posted February 14, 2018 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 More sharing options...
tonycst Posted February 14, 2018 Author Share Posted February 14, 2018 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 More sharing options...
Developers Jos Posted February 14, 2018 Developers Share Posted February 14, 2018 Yea I know... live is dirty 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now