Hi Jeff,
Yes, removing a file from the engine's internal cache is the same thing as releasing it. The main thing to keep in mind is that the file will remain in the cache until all references to it are released. There could be more than one reference to a file at any given time, whether your Operator Interface/Sequence Editor has a reference to it or an executing sequence has a reference to it, etc... Whenever you are editing a file in the Sequence Editor, the editor will maintain a list of changes you've made to the file until you save it. If you use the UnloadFileIfModified option when releasing, it will cause the editor to ignore the fact that it hasn't been saved (once a file has been saved, it is no longer in a "modified" state). You can combine the different options for the release method using the bitwise OR operator in the language you are calling it from since they are simply integer values. Try combining these options until you get the behavior that you would like. As you noted, there are some errors in the documentation for the options, in regards to what values they are, what they do specifically, and which ones are really valid/useful. Follow this guide for the options (notice that the DiscardChanges option is omitted; this option is not intended to be used externally by end-user programmers):
ReleaseSeqFile_DoNotRunUnloadCallback�(Value: 0x2) Use this option to prevent the SequenceFileUnload callback from running if the callback exists and the reference being released is the last reference. If other references exist to the sequence file, TestStand may execute the SequenceFileUnload callback when these references are released using Engine.ReleaseSequenceFileEx.
* Use the SequenceFile.UnloadCallbackEnabled property to prevent the SequenceFileUnload callback from ever being executed.
ReleaseSeqFile_NoOptions�(Value: 0x0) No options.
ReleaseSeqFile_UnloadFile�(Value: 0x4) Use this option to request TestStand to remove a sequence file from the engine's internal cache. When you specify this option, it does not guarantee that TestStand will remove the sequence file from the cache because there may be multiple references to it or it may be executing. If you do not specify this option, TestStand may remove the sequence file from the cache if TestStand no longer needs the file.
ReleaseSeqFile_UnloadFileIfModified�(Value: 0x1) Use this option to remove a modified sequence file from the engine's internal cache.
Jason F.
Applications Engineer
National Instruments
www.ni.com/ask