Startup $'s
By default the DocOrigin Install provides a set of pre-assigned $ values in the Default-DocOrigin.prm file and automatically includes them in the main applications. This in turn means any scripts you write can use those settings.
When any DocOrigin executable begins it will immediately set the following internally:
$B | The initial base working directory - the directory the program is running in |
$E | The path to the executable being run e.g. |
$N | The base name of the executable (no extension); e.g. Merge |
$T | The path for DocOrigin temp files |
After that, each DocOrigin executable will automatically load $E/Default-DocOrigin.prm and follow along its use of @@includes
of other .prm
files. During this process, it updates the definition of any $X variable as soon as it runs across it. Of course, you are allowed to, and should, add or update your $X variables. However, these have proved so convenient that some are used in the code and their meaning should not be tampered with:
$R | The DocOrigin install directory |
$U | The DocOrigin User root folder – |
$C | Where the user's printer configuration (.prt) files reside – |
$S | Where scripts reside – up to you, possibly |
$O | Where User override files reside |
$L | Where log files reside – $U/Logs, by default |
$F | Where form files reside. – Up to you, $U/Forms seems likely |
$P | Semicolon separated paths used to find files. – Automatically postfixed with |
You can update the paths that those point to as long as that path reflects the meaning described above. For example, if you wish to have the message files somewhere other than standard, ok, put them there and update $M to point to that new location for message files.
Our thought is that you should stick with $V, $W, $X, $Y, and $Z. If you need more than that please advise us.
$P was introduced in 3.1.002.01. It differs from all the other folder mappings in that it is a semicolon-separated list of folders which define a "DO PATH" to be searched. Typically it would be used in a _run("$P/executable.exe", ...)
context. The named file would automatically be looked for in each folder specified in $P, and if not found in any of them, $E would also be searched. If you know the executable is in $E you should use $E, not $P. $P is handy when referencing a third-party executable (e.g. ImageMagick.exe
) where its installed location might vary from system to system. While less likely, $P might be used for any file, e.g. in an _file.fopen("$P/resource.xxx", "r")
context. As of 3.1.002.06 it is possible to use environment variables within $P, like [PATH].