  Standard Variable Pooling Extension for Visual DialogScript
==============================================================

Copyright (c) 1997 Peter Jacob
All rights reserved

This is a FREE extension command for Visual DialogScript.
It adds variable sharing and a function @REGVAR to the
vocabulary of VDS. This lets you share variables with multiple
programs and scripts similtaneously.

A short test script(s), FATHER.DSC; CHILD.DSC, are included

Instructions
============

Put the DLL in the same directory as DS.EXE and
DSRUN.EXE. To declare it in your program put the
command EXTERNAL VDSXREGV.DLL near the start of
the script.

Commands
========

REGVAR LOCAL,LongVariableName,Value of this variable

Lets Your use long variable names, Replace the words "LongVariableName" with a variable name of your choice, also change "Value of this variable" to any value you want.


Functions
=========

@REGVAR(LOCAL,LongVariableName)

Returns the value of "LongVariableName" you set earlier.

@REGVAR(PROCESS)

If you pass the unique process id of the running script  (@REGVAR(PROCESS)), which is a kind of windows handle.  The DLL enables you to define local or global variables.  

- Locals are only known by the running script, globals by any script.
- Local exists during the execution of the script, globals until they   get deleted, that means even after restarting your PC they are   available.


%x = @REGVAR(<process id>, <variable name>)

Used to read the caller's local variable.
   

REGVAR <process id>, <variable name>, <value>

Used to maintain the caller's variable pool




If the called script is started without the WAIT parameter, both scripts can run independantly, but can prompt each other, using such a shared local pool.

The storage of the variables are in the registry, There are no performance problems with that, because used parts are kept in core, therefore you can access it without reading from the registry files.  There is a natural limit in passing information through the registry, it must be over 32K or 64 K.


Example
=======

Compile both script:
father.dsc
child.dsc

then run FATHER.EXE first.