Учебный Проект. Релиз 13: различия между версиями
м |
м |
||
Строка 6: | Строка 6: | ||
*Генерация и обработка исключений. | *Генерация и обработка исключений. | ||
|code= | |code= | ||
*'''Набор проектов'''. Релиз 13 состоит из набора строго взаимосвязанных проектов - проекта главного приложения и трех DLL, для каждой из которых предусмотрен самостоятельный проект. | *'''Набор проектов'''. Релиз 13 состоит из набора строго взаимосвязанных проектов - проекта главного приложения и трех DLL, для каждой из которых предусмотрен самостоятельный проект. Набор проектов содержит: | ||
**Проект ObjectWin - проект главного исполняемого приложения. | **Проект ObjectWin - проект главного исполняемого приложения. | ||
**Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2. | **Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2. |
Версия 17:30, 10 апреля 2011
Автор: Виктор Юхтенко. Email victor@pdc.spb.su
Очередная версия Учебного проекта, функциональной идеей которого является простая игра.
Цель
Демонстрация приемов программирования приложений на языке Visual Prolog:
- Cпособы взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки).
- Генерация и обработка исключений.
Функции
- Добавлена новая модель стратегии игры - Computer3, помещенная в DLL.
Код
- Проверено на версии Visual Prolog 7.3 build 7302.
- Набор проектов. Релиз 13 состоит из набора строго взаимосвязанных проектов - проекта главного приложения и трех DLL, для каждой из которых предусмотрен самостоятельный проект. Набор проектов содержит:
- Проект ObjectWin - проект главного исполняемого приложения.
- Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2.
- Проект Computer3DLL (генерирует DLL), в который помещена модель стратегии игры Computer3.
- Проект HumanInterfaceDLL (генерирует DLL), в который помещены классы, отноящиеся к HumanInterface. Эта DLL вызывается с помощью библиотеки, которая связывается с главным приложением в процессе построения приложения.
Установка
Если у Вас имеется VipSpbSDK, то все проекты находятся в директории Examples\Polyline\Polyline13\Programs
Построение
Откройте и постройте проекты:
- Programs/ModelsDLL/ModelsDLL.prj.
Предупреждение в процессе компиляции указывает на специально сделанную ошибочную декларацию. Это сделано для демонстрации реакции на ошибку в DLL.
- Programs/Computer3DLL/Computer3DLL.prj
- Programs/HumanInterfaceDLL/HumanInterfaceDLL.prj
- Programs/ObjectWin/Polyline13_ObjWindows.prj
Для построения проектов переменная SpbSolutions должна быть установлена как маршрут к директории, где располагается VipSpbSDK.
Комплексное построение проектов
Для упрощения начального построения и выполнения всех необходимых настроек имеется командный файл Build.cmd (BuildPersonal.cmd - в зависимости от версии, детали см. Справка по версиям или в файле Examples\Polyline\VersionReference.html).
Командный файл Build.cmd при его использовании:
- настраивает переменную среды программирования IDE SpbSolutions, применительно к условиям установки;
- "знает", где установлена система Visual Prolog и программа VipBuilder.exe;
- производит построение всех проектов, включая проекты в поддиректориях;
- производит построение всех необходимых библиотек;
- осуществляет регистрацию всех необходимых Pzl-компонент (при их использовании);
- информирует об успешном или неуспешном завершении каждой операции;
- может быть использован только совместно с версией Visual Prolog CE (детали см Справка по версиям или в файле Examples\Polyline\VersionReference.html).
Запуск
- Запуск приложения из среды по E или запустить исполняемое приложение из директории EXE.
- Язык приложения определяется помещением в командной строке идентификатора языка:
- ru - русский
- en - английский
- При запуске из среды IDE параметр языка помещается в поле формы "Project Settings"\Run Options\Run Arguments, получаемой из меню Project\Settings...