Jump to content

New tool - a PreProcessor


kjactive
 Share

Recommended Posts

I have a small req, could you add a "@SW_HIDE" right after we exit the app( menu or the X) and then it can continue to see if there is a update avail instead of waiting for it not to find one before closing the GUI. The way it currently is coded, if you click the X, it looks like it lags or has become unresponsive because its busy checking for an update...

Thanks once again...

Link to comment
Share on other sites

Hallo AMD

add a "@SW_HIDE"

I never thought about that one but you could have a point, I'm that used to these high speed internet connections...

I'll make that one in the to do list - until then uncheck autoupdate in the preferences...

kjactive :)

Link to comment
Share on other sites

  • 2 weeks later...

I must say, I'm terribly disappointed. A project of this scope should get the basic things right. I tried to load a script up and it failed to find my #include files stored in a custom location (The registry key is proper set up). It also failed to correctly process relative #include paths. These are two very basic things. The #include search order (which I imagine you've also screwed up) is clearly documented under the #include section of the help file.

Link to comment
Share on other sites

Project Manager - Generel information and use...

The Autoit3 scripting Preprocessor....

post-4760-1197269136_thumb.gif Main Intuition...

1.PM starts the preprocess by making lists - used Includes, available functions and available constants lists and scan these down in a 'black hole' process until no more is found used by main script, includes or sub used includes.

2.The buildin process starts with PM buildin all used functions into a new script that has a _Pre atttached ( there is no changes made to the original script ) and all Include lines get removed at this stage as the includes is no longer used by the new script and as the order to buildin, well things are in the order that they were found.

3.Then starts the actually preprocess handle from makefile.o instructions as: write all globals into the right spots, remove unnessesary things like blanks between operators, empty lines, tab characters, comments and more of that kind of execute speed consuming things as one has to remember that in a intepreted language all characters has to be read, lists has to be build ec. before any action can take place.

post-4760-1197269274_thumb.gif Preprocess parametre...

4.Finally starts a more optrional preprocess like to buildin a terratec language script to support language translations to the script, run an error check, buildup a log script, do a execute wrapping and packing ec.

Ofcource things can go wrong in this huge process in a typeless 3 level langugage, that's why all processes is included as options and has exclude tools or has process keywords: One of the vital tools to deal with mall functions is the 'Function Editer' that can overrule the function scan process, this can include all available functions as high priority ( first in the buildin process ) - this tool was ment to cope for dynamically called functions and is a last resource to deal with special trouble but can be used to dynamically create UDFs as well. Anouther thing is the optional #include keywords that can change the way these includes get treated: Preserve the include line and overrule the process to this particulare include, buildin as unpreprocessed or to builin a particulare include script as a function unpreprocessed and called at the #include spot.

post-4760-1197269339_thumb.gif Function buildin editer...

PM 'key' to this is to read and write a makefile.o script that control uniqe paramertre to every scripts in every axpects, default preferences, preprocess actions and 'compile' parametre but has some automatically actions as to be able to buildin icons directly from a directory without any scripting just drop these into a directory and they all get buildin from an integer order.

PM has a simplified macro language buildin that can control all application tasks as to make a serie of complex actions, even got an editer where all commands is available from a toolbar - the saved macro scripts is installed and can be run directly from a dynamically created menu called 'Macros' and there is a counterpart 'Tools' menu to dynamically create and use external applications as to open IE sites to get codes ec.

post-4760-1197269402_thumb.gif Macro script Editer...

The preprocessed scripts do not use any includes or other things from autoit3 ( well the intepreter if not compiled ) and as that can be dropped to non autoitters without much concern on their system, a large compiled script will nomally get reduced by 10 - 20% and some scripts execute runtime will normally be a lot faster.

You'r not the first autoitter that got involved with personal settings and there is a way to overrule the reg. paths - to include an .ini script, this can be uniqe to every script and was ment to deal with scripts in different setups - lookup in topics 'Overrule autoit3 inireg', I don't know if this do some help in your case but give it a try.

F1 help to related sites in the topics is available in all intuitions, needs HH.exe from Microsoft html help workshop...

PM is ment as a large project manager, a standalone application or included into SciTE macro system but the system includes a 'Project Manager Lite' too called Go.exe ( found in Projects directory ) this can do most tasks much faster as to run tests, do builds, run the macros and do compiles with icons ec. but without any intuition and lack all the preprocess handle processes.

A lot more to discover, written for my own purpose and free not to download or use:

http://www.fritidshjemmet.com/Au3PP/Au3PP.zip

PreProcessed code, examples and a topics included...

kjactive Posted Image

Edited by kjactive
Link to comment
Share on other sites

kjactive, given that I'm the person who wrote the current #include logic including the search order and the registry key AutoIt uses, it's a pretty safe bet that that I do not have a non-standard setup. I assert that your code does not properly implement the #include search order as explained in the help file under #include (the chief issue of which is you do not check the user-defined registry key at all, which I have verified by looking at Project Manager_Pre.au3 which contains no reference to the specified key). I also assert that your code does not properly support relative #include statements. The #include that failed was of the format:

#include "..\Directory\File.au3"
Link to comment
Share on other sites

Update to Rev. 3.2.2.9

1.Bug fix - Project Manager add support to the use of #includes relative paths ..\ although this is not supported by the autoit3 system - Valik

2.Bug fix - Project Manager add support for the use of ini reg. base defined included special paths - Valik

3.Changed the way Project Manager checks for auto update on the Inet - AMD

Valik - I must admit that I'm not positive that the relative path is supported anymore in aut2exe, I get an error message but Project Manager do now support the special ini reg. base setup node and ..\Relative\path.au3

AMD - I removed the Intuition before the auto update handle but it's hard to check for me as my system is always updated, please check it out...

Download from site:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

or wait for the miner auto update to tricker...

Thanks for the responces . Please keep on...

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

I don't understand why you find this so hard to do or why you think it doesn't work. Here's an archive. Extract it. Run Script.au3 in MainDir. Notice that it works. Notice that it uses a relative path. Now compile it. Notice that it works again. If it doesn't work, then you have something wrong on your configuration.

DirStructure.zip

Link to comment
Share on other sites

Hallo Valik

My mistake, I know what went wrong in my test script: there was only one include - it seems like PM must have more than one #include to deal with if the include path is a relative kind but that one I leave in the to do list..

I haven't fidled with relative paths seens the R.I.P. amiga and commandline days and I'm a little rusty here, I'm not positive that all relative style paths is valid in the project manager but the ..\ seems to work alright...

Thanks for your effort and small script...

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

I give up on this. I have zero confidence in this program now. So far you haven't managed to get something as simple as relative paths working, so I don't have any confidence in this actually stripping my scripts correctly. It's a shame, I actually would like to use it, but at first I couldn't (and I still can't in the case I want to use it) and I don't trust it anymore, anyway. Good luck.

Link to comment
Share on other sites

hallo Valik

I try to keep my software as bug-free as posible But the number of errors increases with the complexity of the program. The Project Manager is a very complex kind of software with lots of action under the hood, written for my own purpose but free to use, do comments and reports to, all documented bug reports is treated and fixed durring time...

Good luck.

Thanks

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

  • 4 weeks later...

Update to rev. 3.2.3.0

1.Bug fix - Enum globals with trail comments attached and where () characters was included produced failures - fixed...

2.Add a shortcut to change application topmost flag Ctrl+Shift+X

3.Add a new option to the preferences: to manipulate autoit3 'Custom location include search paths'...

4.Bug fix - The ColorPick macro tool to insert color values directly into an editer as choice ( SciTE * ) reversed Red with blue - fixed...

Download Project Manager from site:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

or wait for the miner autoupdate to tricker

kjactive :)

Link to comment
Share on other sites

  • 5 weeks later...

New Project Manager update to rev. 3.2.3.1

Bug fixes, new options attached and started simplifying routines to gain some speed..

1.Optimized the Project Manager preprocess speed and removed some debug options...

2.Optimizes the Project Manager lite ( Go.exe ) speed...

3.PreProcess option 'Remove around operators' missed some seldom used operators - fixed...

4.Bug fix - Auto backup path always inserted a backslash even to a empty path - fixed...

5.Add new options to the advanced colorpicker tool ( change colorvalues directly into an editer as choice *SciTe ) - Reverse color value, moved controls around and add an option to load a picture as palette spectum...

6.Add a Global variabel '$COLORPICK_ColorMode' to the ColorPick UDF as to be able to reverse color value...

7.Bug fix - The preprocess action on included UDFs had a visual bug if there was only one UDF included - fix...

8.Add a new argument to Project Manager Lite ( Go.exe ) /beta to run or compile inbetween the to systems - beaware that they are not competible...

9.Bug fix - The Icon auto buildin from directory in Project Manager and Project Manager Lite had a problem public verse/ beta as they now have different number of buildin icons- fixed...

10.Removed the tooltip notification on missmatch between Public verse Beta systems - Project Manager is independed and there was realy no point notefying anymore...

11.Changed the error handle to 'Write Language Translation' if there was no Keyword present - now the Project manager just skip the translation BUT still copy the keyword to the clipboard ready to be inserted...

12.Bug fix - The Project Manager 'Compile with options' to attached a StdOut console failed on latest autoit3 updates - fixed...

13.Changed The Project Manager 'Compile with options' controls into a plain 'compile' and 'Compile and run Execute'...

14.Add the 64 bit compile option to Project Manager and Project Manager Lite - The Project Manager though is still Win32 architecture...

15.Removed the 'Force public preprocess' argument keyword in Project Manager - made this default, can be overwritten by the /beta keyword and ( changed keywords from /b to /Beta )

16.Bug fix - there was some trouble with new inireg. path in the latest beta update - fixed...

Download from site

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

Or wait for the miner auto update to tricker...

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

  • 1 month later...

Just uploaded a new revision, mostly bugfixes and speed updates...

1.Bug fix - The beta include 3.2.11.1 'UDF Global ID' array was not treated correctly - fixed...

2.added new option - The compile compress value 'combo control' now controls on / off too as new item 'None' deactivates compression - ultra compression is still very slow but mostly provide 1,5% compression rate extra...

3.Optimized speed to the search for used includes both in main as sub scripts ( UDFs ) - now only look at the first 70 lines for used sub includes...

4.Bug fix - all broken lines ( _ ) get automatically removed during a preprocess did a fealure if the line was broken right after And / Or operators - fixed...

5.Bug fix - Docking Macro edit window left to main Project Manager window from Preferences control did wrong - fixed...

6.Bug fix - Some trouble with relative paths durring the independed nature of the Project Manager - fixed...

7.Bug fix - Removed the extended ColorPick UDF. Comming later in a new CustomDialog UDF with a lot other common dialogs like a messagebox with unlimited controls and option to include graphics ( like animated gif )...

8.Updated the inireg search path to control all processes as there is now a smart autoit3 public verse beta key node...

9.Removed the internal console mode compile code to let aut2exe ( beta only ) do the trick...

10.Add a new argument to Project Manager Lite ( Go.exe ) - /Out , as to be able, actually do a final compile and not just for testing purpose, still without all the preprocess stuff...

11.Increased Project Manager Lite ( Go.exe ) maximun amound of auto directory buildin icons to 50, continue buildin even though one is missing...

12.Bug fix - Project Manager could get into an endless loop if default preferences 'Auto Compile' was set, durring running macro command 'DoCompile' . fixed just set PreProcessOpt or PreferencesOpt ones before doing any PreProcess action...

13.Attached asci and _x64 models of the Project Manager Lite ( Go.exe ) found under Projects...

14.Both Project Manager and Go.exe has moved from Public to Beta models - that added some overall speed to the preprocess handle, nice...

Download from site:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

or wait for the miner auto update to tricker

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

  • 2 weeks later...

Just another update - Rev. 3.2.3.3

1.Add an error check on the 'overrule the autoit3 default paths' by local inireg script for special setups - warn if external paths 'for some reason' is not present ( memorykey etc )...

2.Bug fix - The 'Compile with options' window had some visual update trouble like the ansi and _x64 architecture compile could be set at the same time - fixed...

3.Included new option - auto include a icon if matching script name and placed in local path durring the compile...

4.Add new menu to 'Macro menu' - 'Edit Macros' to easy remove or rename macros directly, only available if macros is present...

5.Bug fix - The decompilation keyword was still around in the macro command 'PreProcessOpt' although not available anymore - Removed...

6.Changed the 'Run Test' control in main intuition, if preferences option 'Auto Compile' is set, the run test control will use the new execute instate of the preprocessed script...

7.Moved 'Exit when done' and 'Run when done' preferences options from default settings to local Makefile settings to custumize individual script handle...

8.Add a new menu under help - 'About system' to display windows memory, Revision and license agreement...

9.Add drag and drop function to the main intuition - just drop a script and the Project Manager process this script useing individual makefile setups if present...

10.Bug fix - The preprocess global constants into scripts could fail if two semilare variables were on the same line...

11.Bug Fix - Auto Compile to a specified name didn't copy a related language script along - fixed...

12.Updated the example scripts ( Projects ) - like to include and use auto generated language scripts ( Default.au3 )...

Download from site

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

kjactive :D

Edited by kjactive
Link to comment
Share on other sites

  • 3 weeks later...

Was wandering if it works with latest AU3 version and how thorough does it already go ? does it support full functionality of Au3 ?!

i'm asking this because 'obfuscator' doesn't work for me for some reason and i end-up creating a 1.2MB .exe files for my software code... it's only 400kb of script.

[u]My Au3 Scripts:[/u]____________(E)Lephant, A Share download manager (RS/MU etc)Http1.1 Console, The Ez Way!Internet Reconnection Automation Suite & A Macro Recording Tool.SK's Alarm Clock, Playing '.MP3 & .Wav' Files._________________Is GOD a mistake of the Humanity Or the Humanity is a mistake of GOD ?!

Link to comment
Share on other sites

Hallo Armand

Project manager is a tool that I did for a personal use and do updates constantly. It's designed to work upto WinXP and with all latest au3 updates ( beta included ), the application can work as a macro tool from editers as choice - like SciTE but can work as a standalone application with icon drag and drop function too.

The application itself is public verse beta system independed - most parametres is local script related though a dynamically created makefile.o script. The Project manager can do individually script setups like if autoit3 is installed on memory keys etc. and do script individually tasks like stripping unwanted things from the code but it can actually do a real preprocess too, like calculate global variables and remove unused functions / variables - this reduce size and speedup execute time a lot. In your case like 'not being able to use 'obfuscator'' - well it's long time since I used that one but 'O' is provided in PM as a compile option - But a native preprocessed 'Project Manager' script is very hard to read it self as there is no referances to includes and variables are recalculated - A Project Manager preprocessed script / compile is independed from autoit3 special resources and can automatically do tasks like buildin icons placed in scripts local path, automatically create and buildin scripting language support - translate editer included...

The Project Manager has a lite version 'Go.exe' ( projects directory ) - could be used for testing purpose but can actually do build / Compiles, buildin resources too but lack all the preprocess stuff...

The project Manager comes with an small but powerfull macro language included to automate huge project handle - scripting editer included and this 'language' can automate most tasks that the application can do. The macro scripts gets attached into a dynamically created menu colomn or can be used directly from a commandline argument at startup...

I just moved to the UK for a while and got meself a new laptop with vista ( UK setup installed), I discovered some trouble here but these things will soon be removed...

The Project Manager is free to use, do comments on and all documented bugs will be fixed as soon as posible...

Preprocessed script, examples and a topics is included - no install script needed, just unzip to a location...

kjactive :)

Edited by kjactive
Link to comment
Share on other sites

Project Manager has been updated to support Vista UK 32-bit

Update Rev. 3.2.3.4

1.Add an error handle to the compile - Notify If the main icon path is not valid and an option to break the process...

2.Bug fix - If no icon was attached to a compile - a new added icon could not visual show up in the compile intuition - fixed...

3.Bug fix - Vista related au3check error handle failure ( both PM and PM Lite ) - fixed...

4.Changed initial default settings to use internal system as compile model ( can be changed to use autoitwrapper )...

5.Overall application checkup on liability run at Vista UK system...

6.Update - Vista intuition updated...

7.Update - add a second icon library as Vista compatible...

8.Update - Language Translate Editer to be Vista compatible...

9.Update - updated the F1 HTML Help to support Vista as the system is not directly supported by MS anymore ( needs hh.exe )...

10.Changed the 'insert special Functions editer' bacground color to be more visual...

11.Bug Fix - The function editer created one blank item in the included list, was only visual but - fixed...

As this is a total wrapup to support Vista too, there is no smaller auto update available - Please do a total install from link:

http://www.sitecenter.dk/latenight/nss-fol...t%20Manager.zip

kjactive :)

Edited by kjactive
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...