vlalexey пишет:Так и есть? (или я некорректно вопрос поставил?)
Вы правильно поставили вопрос.
Давайте, я немного объясню теорию. У нас с этим беда, поэтому, ваш вопрос - это дырка в документации.
Скрипт машина не работает постоянно. Она каждый раз запускается, когда в этом возникает потребность. Инициировать запуск скрита может TDMS, пользователь или внешняя среда через API TDMS.
Даже если бы нам удалось создать "вечную" скрипт машину, которая запускается только один раз на старте приложения, а дальше ловит указания, что ей выполнять, то нам бы пришлось совковой лопатой разгребать последствия такого решения. Кроме программистских заморочек с СОМ, возникает проблема сохранности ваших переменных.
Скрипт падучь. Скрипт не пишут также надежно, как и компилируемый код. Причины этого могут быть разными, но результат один. Когда падает TDMS, это настоящие событие. Если упал скрипт - залез, поправил кусок кода, работаем дальше. Без лишних эмоций.
Что происходит после падения скрипта, я думаю, вы знаете. Поэтому словарь TDMS - это более надежное укрытие ваших глобальных переменных. К тому же он более глобален, чем скрипт. К словарю вы можете обратиться из любой внешней среды.
Собственно, ответом на ваш вопрос будет фраза "Да, так и должно быть". Ваш "Общесистемный скрипт" и CMD_SCRIPT, отработав, ушли. Их нет. Но они могут оставить свои данные в атрибутах приложения, атрибутах объектов, в словаре, в атрибутах пользователей.