autoit.exe -> autoit.exe + autoit.dll
#1
Posted 28 April 2007 - 03:23 PM
It is possible to split autoit.exe in a autoit.exe small with the function launch the scripts. au3 and a autoit.dll that it comes recalled from all the autoit.exe launch?
Therefore the memory would be occupied from a great solo autoit.dll and many small autoit.exe instead of being occupied from many autoit.exe.
Excused my English.
#2
Posted 28 April 2007 - 04:40 PM
Note: scripts can be compile with .a3x extension. They should be run with AutoIt.exe filename.a3x. The .a3x contains the script itself with all referred #include plus the FileInstall files. This format allow to distribute smaller files as they don't include the AutoIt3.exe in each compile script. You still need to have it accessible on the target machine but just AutoIt3.exe.
#3
Posted 28 April 2007 - 06:09 PM
not why in the RAM memory if run 3 a3x it launch 3 big autoit3.exe.Look at a3x - isn't it solution?
i would to lanch 3 mini autoit.exe and 1 big autoit.exe.
#4
Posted 28 April 2007 - 06:53 PM
3 * full executable(1 MB) = 3 MB
3 * mini executable(.1 MB) + 1 * dll(.9 MB) = 1.2 MB
Does the question make more sense now?
#5
Posted 28 April 2007 - 07:48 PM
Yes, i say itDoes the question make more sense now?
#6
Posted 29 April 2007 - 04:16 PM
The syntax is as follows...
I haven't actually tried this myself which means it may create a second instance of the AutoIt executable, but as stated before .a3x extension is so you can have multiple scripts, but with one big executable.
JS
#7
Posted 29 April 2007 - 05:05 PM
H'mmn, if those .a3x scripts can communicate with each other via the registry or some other method, wouldn't that give some degree of parallism?I can see that is exactly what he wants. What I would recommend is that you make a script that starts the "Big" Executable, and have a few .a3x scripts waiting to be executed, and use the /execute script option. One "Big" Executable can execute more than one script if I am remembering correctly.
The syntax is as follows...
I haven't actually tried this myself which means it may create a second instance of the AutoIt executable, but as stated before .a3x extension is so you can have multiple scripts, but with one big executable.
JS
The initial script could be minimal, just code to launch the .a3x scripts and then run a While 1/WEnd loop. The other scripts could access each other for simultaneous tasks like say running an I'm busy now clock while a large _arraysort() is running in the background, or do other proccessing giving a discrete(sp?) result.
Gene
Edited by Gene, 29 April 2007 - 05:10 PM.
#8
Posted 29 April 2007 - 05:20 PM
When you are executing a new script you can use command line parameters to communicate between them. Or create a communication file or use the registry as well.H'mmn, if those .a3x scripts can communicate with each other via the registry or some other method, wouldn't that give some degree of parallism?
The initial script could be minimal, just code to launch the .a3x scripts and then run a While 1/WEnd loop. The other scripts could access each other for simultaneous tasks like say running an I'm busy now clock while a large _arraysort() is running in the background, or do other proccessing giving a discrete(sp?) result.
Gene
I hope this helps you on your journey,
JS
#9
Posted 29 April 2007 - 05:29 PM
When you are executing a new script you can use command line parameters to communicate between them. Or create a communication file or use the registry as well.
I hope this helps you on your journey,
JS
Thanks for the quick response. I was asking a slightly different question. I carefully used the word parallelism instead of multi-threaded proccessing, hoping to avoid a flame. If you can have multiple "modules" working different aspects of one overall task, isn't that a form of multithreading?
Gene
#10
Posted 29 April 2007 - 05:33 PM
In a manner. Multi-threading is using one executable with different forks in it to work all together. Using different Modules to work on different problems in procedural way, and making your own synchronization functions is in a way multi-threading, but different.Thanks for the quick response. I was asking a slightly different question. I carefully used the word parallelism instead of multi-threaded proccessing, hoping to avoid a flame. If you can have multiple "modules" working different aspects of one overall task, isn't that a form of multithreading?
Gene
I hope that answers your question.
JS
#11
Posted 29 April 2007 - 06:08 PM
#12
Posted 29 April 2007 - 06:10 PM
Okay, I understand that, but unfortunately AutoIt isn't going to have a DLL.You all are missing Ontosy's question and apparently my explanation as well. Ontosy isn't asking for communication between scripts in any form whatsoever. Ontosy is asking that the bulk of AutoIt be in dll form so that it is only loaded into memory once instead of for every script that needs to be executed.
JS
#13
Posted 29 April 2007 - 06:16 PM
however the current exe is still quite small by todays standards so expect a lot of resistance.........
#14
Posted 29 April 2007 - 06:30 PM
You all are missing Ontosy's question and apparently my explanation as well. Ontosy isn't asking for communication between scripts in any form whatsoever. Ontosy is asking that the bulk of AutoIt be in dll form so that it is only loaded into memory once instead of for every script that needs to be executed.
You are OK
I understand that, but unfortunately AutoIt isn't going to have a DLL.
i have writed this post in "Feature Requests" to suggest
Edited by Ontosy, 29 April 2007 - 06:39 PM.
#15
Posted 29 April 2007 - 10:30 PM
In a manner. Multi-threading is using one executable with different forks in it to work all together. Using different Modules to work on different problems in procedural way, and making your own synchronization functions is in a way multi-threading, but different.
I hope that answers your question.
JS
Yes, it did, I also already understood the "real" meaning of multi-threading. I am thinking of using a .a3x script for things that can't be covered with a Progress Bar like array sorts. I kept following up because because I keep reading people who want to do multi-threading in spite of Valik's tireless efforts. Maybe they hadn't thought of using .a3x scripts. If any of them run across this thread it will give a whole new direction to explore.
I appreciate your responses.
Gene
#16
Posted 11 May 2007 - 09:36 AM
Edited by Ontosy, 11 May 2007 - 11:12 AM.
#17
Posted 30 May 2007 - 07:38 PM
i'm capable to run 10 autoit.exe instead of 1 autoit.dll
#18
Posted 30 May 2007 - 08:37 PM
#19
Posted 02 June 2007 - 11:41 PM
why not write a script, witch launches the dll and compile it? or, if possible, call the dll via batch-file with this script as param, to get the dll memory resistant?
just an idea ...
#20
Guest_Guest_Ontosy_*_*
Posted 15 June 2007 - 10:00 AM
the problem not is to launches any dll ma launches autoit as dll and not as exe.autoit may use dll's as well, right?
why not write a script, witch launches the dll and compile it? or, if possible, call the dll via batch-file with this script as param, to get the dll memory resistant?
just an idea ...
the problem is to have a autoit.dll not ActiveX that is but full AutoIt as dll.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users




