DMDX Help.


Chain Keyword

<Chain [option] text>

option:
preservevm


    Parameter and switch to chain another item file. text is interpreted to be an item file in the same directory as the current item file, if no extension is provided .rtf is appended to the name. If another directory is desired a path relative the current item file's path must be used.  There is only one possible option at this time assuming you're using version 5.2.2.0 or later and that you're using the Direct3D renderer (sorry, I'm not adding code to handle the legacy DirectDraw renderer) and that is preservevm and when present DMDX attempts to keep the display static and rings no bells so as to appear as if only one item file is executed.  Note that this new option assumes you have in fact used the same video mode in the chained item file, I make no predictions as to what will happen if you have a different one...  As of version 5.3.1.10 of DMDX preservevm can be used with machines using the DirectDraw renderer, at the very least it suppresses the bells as the files are chained and on some systems provides an experience similar to the Direct3D one where the only clue an item file is chaining is the time taken to load the new file.

    The new item file will not be executed until the current item file finishes or terminates with the <Last Frame> keyword. All devices are closed and the data is automatically saved and the new item file is run as if it had been run manually thus allowing changes in input devices and scrambling parameters for instance. Use of the Subject ID is highly recommended as tracking a subject's data across data files could be challenging otherwise.

    Note, use of <SkipDisplay> in a last frame item prior to version 5.0.0.0 of DMDX would result in the job being aborted and any data not being saved.  This has now been rectified.

    Also note that unless preservevm has been used between item files DMDX is going to shut the screen down and some displays will either flick back to the desktop or the DMDX dialog display momentarily, not much we can do about that (assuming preservevm is out of consideration of course).  But some other displays switch back to a previous item's display and here we can actually do something.  Putting an <EraseAll> in the last frame will clear all the back buffers (that have previous item's displays still in them) and fixes the problem because even if the video drivers display another buffer at least it will be blank (or the last item's display).

    See <loadcounters> for details on setting up a re-entrant item file using <chain> .


   




DMDX Index.