Message Edited by Ed Dickens on 05-03-2006 03:56 PM
The sticky point here is how the VI reference gets opened. In the case of explicitly opening a VI reference, the behavior properly obeys the 0x04 flag. Explicitly opening a reference to a VI with the 0x04 flag should address point (2) above.
The discrepency (and what I still need to look into) is the behavior change in this regard with the implicit VI self-reference. I'm not sure if this was intentional or not, or if it was intentional, why the change was made.
I've attached a VI saved in 7.1.1 that you can use to play with this, and you can see the only mode that differs in behavior between 7.1 and 8.0 is the implicit one. Just open the VI, make a modification to it (one that doesn't make the VI broken), pick a mode, and run it.
Upon looking into this, it turns out that the fact that you got prompted to save with an implicit self-reference in 7.1 was an unintended consequence of a less robust method of closing VIs.
Generally, the philosophy is to not prompt the user in situations where we normally would, if the event that would cause the prompt is the result of a programmatic operation. If you want to be prompted to save unsaved changes to a VI when closing it using VI server, you must explicitly open the reference with the 0x04 flag. This is the way it was supposed to work in 7.1, and it is the way it correctly works now.