Automation Batch Tools

: Automate and process repetitive tasks with this automation program





-----------
QuickGuide:
-----------
* Open a demo.
* Read the comments.


------------
Development:
------------
To view logfiles relevant to plugins see:
* "%MultiBatcher%\logs\misc\program.log"
* "%MultiBatcher%\logs\batches\"
Of other "developer orientated" things are:
* MultiBatcher >> Tools >> Reload Plugins".


-----------
Deployment:
-----------
Remember that compiled plugins should be placed in:
* "%MultiBatcher%\modules\external\" (can contain multiple plugins)
* "%MultiBatcher%\modules\external\YourDir\" (can contain 1 plugin)


------
Hints:
------
"Rules" when making plugins.
1. Do never modify, delete etc. the characters of *PChar* parameter / data
(unless specified otherwise, as with some of the callbacks). If you need to
modify the values somehow, do it in a copy.
2. The default values of properties should not change depending on information
from program (e.g. under initialization). The exception is those strings
shown to user (if plugin has localization/internationalization support).
3. The default init data parameters to properties have to be valid in batch.

"Advices" when making plugins.
1. Remember setting the memory manager of your plugin to *IsMultiThread :=
True* in the initlization code (else in general, memory managers, stacks,
and what else will be very sad). Check *LUmsPluginAllSharedBaseCore.pas*.
2. If you need to synchronize memory write access (or similar) between the
currently active threads running your plugin, you will have to manage it
yourself. One can e.g. use a *CriticalSection* for this.

"Notes" when making plugins.
1. An executable/application can/should not release memory taken by plugin and
vice versa. This plugin-interface-design avoids these kinds of pitfalls.

"Extras* when making plugins (and releasing new versions).
1. Program handles changes in properties. This includes name, type,
but also internal things (e.g. like "ColumnID" in grids).
This means that in most cases the user will in worst case be warned that
what he earlier saved to disk (for that specific property) is no longer
valid. If you want to be 100% sure stuff like that does not happen, you
will have to name your plugins different names (so user e.g. can have both
version "MyPluginName1" and "MyPluginName2" loaded same time).



Automation Batch Tools is a automation software tool that can automate repetitive tasks




This file is part of Automation Batch Tools. All rights reserved. See legal.