- •Предисловие
- •Структура классического Смолтока
- •Основные определения и термины
- •Метаклассы
- •Посылка сообщений
- •Определение объектов
- •Типы сообщений и их приоритеты
- •Блоки
- •Переменные
- •Методы и примитивные методы
- •Соглашения о форматировании кода
- •Контрольные вопросы
- •Прогулка по VisualWorks
- •Настройка среды
- •Разработка простого приложения
- •Сохранение созданного кода
- •Создание автономного приложения
- •Выход из среды
- •Контрольные вопросы
- •Пространства имён
- •Особенности введения пространств имён
- •Пространство имён и его содержимое
- •Ссылка на объекты и импорт
- •Особенности импорта
- •Разделяемые переменные VisualWorks 7.4.1
- •Пакеты и парселы
- •Пакеты и связки пакетов
- •Парселы
- •Контрольные вопросы
- •Основные инструменты
- •Рабочее окно
- •Администратор парселов
- •Браузер файлов
- •Контрольные вопросы
- •Cистемный браузер
- •Панели системного браузера
- •Управление пакетами
- •Управление связками пакетов
- •Управление парселами
- •Определение пространства имён
- •Определение класса
- •Определение переменной класса
- •Определение переменных в пространстве имён
- •Работа с экземплярами
- •Определение метода
- •Контрольные вопросы
- •Отладка кода
- •Oкно уведомлений
- •Oкно отладки кода
- •Программные зонды
- •Работа с зондами через браузер
- •Зонды на уровне класса
- •Установка временных зондов в отладчике
- •Исключения и их обработка
- •Классы исключений
- •Обработка исключений
- •Оповещение о возникновении исключения
- •Среда исключений процесса
- •Явный выход из обработчика
- •Преобразование исключений
- •Развертывание защиты
- •Поставка приложения
- •Выбор стратегии поставки
- •Подготовка к поставке приложения
- •Создание поставляемого образа
- •Контрольные вопросы
- •Литература
- •Список иллюстраций
2.4. Сохранение созданного кода |
43 |
Рис. 2.6: Вывод строки Hello, World! в диалоговом окне.
2.4. Сохранение созданного кода
Сохранение в файле образа
Вбольшинстве сред программирования созданный код сохраняется
вредактируемом файле. Затем такой файл компилируется и создается исполняемая версия программы. В VisualWorks созданный код традиционно сохраняется в файле образа среды. При этом можно изменять имя файла, сохраняя свой образ для каждого из создаваемых приложений. Файл образа — "мгновенный снимок" VisualWorks (бинарный файл), включающий весь код, который составляет среду разработки: библиотеку классов, инструменты и создаваемое приложение. Когда для сохранения работы используется именно этот путь, следует сохранять образ достаточно часто, и обязательно в конце каждой сессии разработки.
Чтобы сохранить текущее состояние образа в том же файле образа, который использовался для запуска среды надо выбрать в стартовом окне системы команду меню File → Save Image. В этом случае содержание текущего файла образа заменяется текущим состоянием образа системы. При следующем запуске среда VisualWorks будет иметь то состояние, которое было сохранено в файле образа. Именно так и поступим, чтобы сохранить приложение Hello World.
Чтобы сохранить текущее состояние образа а файле с новым именем, надо выбрать команду File → Save Image As. . . , открывая диалоговое
44 |
Глава 2. Прогулка по VisualWorks |
окно, запрашивающее имя (без расширения *.im) нового файла образа (по умолчанию, отображается имя файла текущего образа).
Настоятельно рекомендуется, первоначальный образ VisualWorks со всеми нужными инструментами и пакетами (или его копию) хранить без изменений в отдельном файле. Это обеспечит возможность начинать всё с «чистого листа» всякий раз, когда необходимо. Ради удобства пользователя, такой «дополнительный» файл включен в поставку системы и находится в каталоге image в виде файла image.im.zip
Отметим важную особенность файла образа: он тесно связан с двумя файлами — файлом исходного кода (sources) и файлом изменений (changes). Эти три файла синхронизированы и должны копироваться и сохраняться вместе, создавая полную запись среды. Файл исходного кода содержит в формате XML исходный текст образа первоначальной среды VisualWorks без всех последующих изменений. По умолчанию его имя visual.sou. Имя файла исходного кода никогда не меняется.
Файл изменений, который обычно имеет то же самое имя, что и файл образа, но с расширением cha, содержит исходный текст всех изменений, сделанных в системе, независимо от того, сохраняется образ или нет. По этому файле можно восстановить потерянную информацию в случае краха среды. Файл изменений со временем может стать очень большим, и должен иногда сжиматься с помощью команды меню System
→ Changes → Condense Changes стартового окна VisualWorks. При этом из файла изменений удаляется всё, кроме последних изменений.
Сохранение кода в текстовом файле
Как и в любой смолтоковской среде, в инструментах, работающих с исходным текстом, код можно сохранить в текстовом файле (в файле с расширением .st) командой File Out As. . . и позже загрузить в среду командой File In. . . (см. раздел 4.3).
Чтобы сохранить в текстовом файле код класса HelloWorld, следует выбрать этот класс, из всплывающего меню этой же панели выбрать команду File Out As. . . , определить имя файла (согласится с именем, предлагаемым средой) и нажать кнопку Save. Код сохранится в файле HelloWorld.st. По умолчанию файл сохраняется в каталоге \image\.
Команды записи кода в текстовый файл доступны через многие команды меню различных браузеров. В зависимости от меню, команда будет записывать в файл разные наборы определений.
Чтобы восстановить в образ код из файла исходного текста, следует воспользоваться командой File In. . . инструмента File Browser (браузер файлов), окно которого открывается командой меню File → File Browser
2.5. Создание автономного приложения |
45 |
стартового окна (см. также раздел 5.3). Когда в панели файлов этого инструмента выбран нужный .st-файл, команду File In. . . надо выбрать из всплывающего меню этой панели.
Рис. 2.7: Команда File In. . . в браузере файлов.
2.5.Создание автономного приложения
Пока программу HelloWorld можно выполнить только в среде разработки VisualWorks. Но программу можно выполнить автономно. Для этого программу надо специально подготовить, используя специальный инструмент Runtime Packager.
Runtime Packager содержится во внешнем программном модуле — парселе. Обычно в парселах хранится редко используемый код, разгружаемый в среду по мере надобности. Самый простой способ это сделать, воспользоваться инструментом Parcel Manager(Администратор Парселов), окно которого открывается командой меню System → Parcel Manager стартового окна (см. рис. 2.8).
В левой списковой панели окна администратора парселов выбрать строку Essentials. В правой верхней списковой панели дважды щелкнуть на строке RuntimePackager (или выбрать парсел и выбрать команду меню Parcel → Load). После чего, закрыть окно Parcel Manager.
Перед тем, как работать с инструментом RuntimePackager закроем все открытые окна среды VisualWorks, кроме окна системного браузера. Чтобы запустить программу RuntimePackager, следует выбрать в стартовом окне команду меню Tools → Runtime Packager. Откроется окно
46 |
Глава 2. Прогулка по VisualWorks |
Рис. 2.8: Окно администратора парселов.
инструмента, в левой панели которого отображается текст, объясняющий по-порядку (надо только нажимать клавиши Next и Previous), что надо делать на каждом этапе упаковки приложения (см. рис. 2.9).
В окне инструмента существует множество опций, доступных во время упаковки программы, но в нашем простом случае почти все можно проигнорировать, поскольку подойдут значения по умолчанию.
Итак, дважды щелкая на кнопке Next, перейдем на страницу Set common options (Установить общие опции) и щелкнем не кнопке Do this step (Выполнить этот этап). Откроется блокнот с несколькими страницами настроек. На странице Basics нужно ввести информацию о том, как запустить программу. Нашу программу выполняет выражение HelloWorld new, поэтому в поле ввода StartUp Class введём имя класса HelloWorld, а в поле ввода StartUp Method — имя метода new. В поле ввода Runtime Image Path Name введём имя файла образа для нашего приложения: hello.
На странице Details представлено множество опций. Обратим внимание на раздел Action on last window close (Действие на закрытие последнего окна). Значение по умолчанию — Shutdown image (Закрыть образ) именно то, что нужно: отобразить диалоговое окно со строкой Hello World!, и, после его закрытия, завершить работу приложения. Также обратим внимание на опцию Suppress splash screen and herald sound (Подавить появление заставки и звукового сопровождения). Если она выбрана (по умолчанию), заставка и звуковое сопровождение VisualWorks не будут использоваться при запуске образа приложения.
2.5. Создание автономного приложения |
47 |
Рис. 2.9: Стартовое окно инструмента Runtime Packager.
Заглянем ещё на страницу Platforms (Платформы). Образы VisualWorks полностью переносимы между платформами операционной системы, Один и тот же образ может выполняться на любой из поддерживаемых VisualWorks платформ. Но, если удалить части поддержки других платформ, то подобное станет невозможно. На этой странице можно выбрать «политику просмотра» и поддержку указанных операционных систем, чтобы включить их в создаваемый образ. По умолчанию, все опции выбраны, всё так и оставим.
Нажмём кнопку OK, чтобы сохранить установленные опции и возвратиться в окно Runtime Packager. Щелкнем на кнопке Next пять раз, чтобы добраться до окна Test application (Протестировать приложение). В этом окне щелкнем на кнопке Begin Test. Отобразится диалоговое окно приложения. Нажмем в нём кнопку Hello, закрывая его. Затем щелкнем на кнопке End Test и кнопке OK, чтобы закрыть окно тестирования.
Дважды щелкая на кнопке Next, доберемся до страницы Strip and save image (Произвести разбор и сохранить образ). Слово «разбор» относится к тому, что будет сделано с образом. Из множества классов, используемых в среде разработки, для выполнения приложения нужны далеко не все, и их следует удалить из образа. Как только это сделано, образ сохраняется в файле образа с именем, определенном на странице Set Common Options (в примере в файле с именем hello).
