Что нужно проверить, запуская Basic-скрипты в современных версиях SPSS
Основная масса скриптов из Библиотеки Sax (WinWrap) Basic-скриптов была разработана в версиях SPSS, предшествующих 16-й. В SPSS 16.0 вместе с переработкой движка графического интерфейса были изменены некоторые объекты SPSS. В результате этого некоторые скрипты из коллекции могут не работать как следует в более поздних версиях IBM SPSS Statistics (в той же 16-й, или в 19.0, или в 23.0).
В официальной справке собраны основные отличия в скриптинге между версиями до 16-й и после 16-й, с рядом примеров. Вы найдете этот раздел в справке по этому пути: Help > Core System > Scripting Facility > Scripting in Basic > Compatibility with Versions Prior to 16.0. Я советую ознакомиться с ним, если вы хотите применять скрипты из этой коллекции, или намерены разрабатывать свои скрипты, пользуясь старыми примерами из нее.
Вот основные моменты, на которые следует обратить внимание, если скрипт не работает как надо:
- Некоторый функционал и объекты объявлены устаревшими в версии SPSS 16. Они не обязательно полностью исчезли из SPSS, но с запуском скриптов, которые ориентированы, например, на манипулирование интерактивными графиками, картами (Maps, из старого модуля SPSS Maps) или текстовым окном результатов (Draft Viewer), вероятнее всего, будут проблемы, которые не всегда удастся разрешить.
- Файл с глобальными скриптовыми процедурами (Globals) более не регистрируется в системе. Но некоторые старые скрипты подразумевают наличие такого файла (например, путем использования функций, определяемых в этом файле). Поскольку файл Global все еще существует в комплекте поставки, вы можете модифицировать такие скрипты, сославшись полным путем на этот файл в специальном комментарии, подробнее см. в Справке.
- Вам, вероятно, потребуется модифицировать все автоскрипты из коллекции. Теперь автоскрипт должен выглядеть как обычный скрипт, с процедурой Main внутри. Единственное отличие — автоскрипт будет оперировать специальным объектом scriptContext, который заполняется ссылкой на объект вывода (например, таблицу), создание которого приводит к вызову этого автоскрипта.
- Если вы подключаетесь к экземпляру SPSS из Basic-скрипта внешнего приложения (в качестве COM-клиента), на этот экземпляр SPSS теперь надо ссылаться как SPSS.Application16 (даже для версий более поздних, чем 16-я).
- По умолчанию Basic-скрипты имеют теперь расширение .wwd (кстати, файл с глобальными процедурами называется Global.wwd). Но это не должно создать больших проблем, т.к. расширение .sbs продолжает поддерживаться для совместимости.
Я планирую вскоре опубликовать несколько примеров модифицированных старых скриптов, которые будут работать с новыми версиями SPSS, т.к. время от времени я получаю такого рода вопросы от посетителей сайта.
...