Учебный Проект. Релиз 13: различия между версиями

Материал из wikiru.visual-prolog.com

м
Строка 1: Строка 1:
{{copyright}}
{{PolylineTemplateRu
|goal=
Демонстрация приемов программирования приложений на языке Visual Prolog:
|goalContent=
*Cпособы взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки).
*Генерация и обработка исключений.
|code=
*'''Набор проектов'''. Релиз 13 состоит из набора строго взаимосвязанных проектов - проекта главного приложения и трех DLL, для каждой из которых предусмотрен самостоятельный проект.
*Набор проектов содержит:
**Проект ObjectWin - проект главного исполняемого приложения.
**Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2.
**Проект Computer3DLL (генерирует DLL), в который помещена модель стратегии игры Computer3.
**Проект HumanInterfaceDLL (генерирует DLL), в который помещены классы, отноящиеся к HumanInterface. Эта DLL вызывается с помощью библиотеки, которая связывается с главным приложением в процессе построения приложения.
|functionality=
*Добавлена новая модель стратегии игры - Computer3, помещенная в DLL.
|install=
Если у Вас имеется '''VipSpbSDK''', то все проекты находятся в директории '''Examples\Polyline\Polyline13\Programs'''


Очередная итерация Учебного проекта, функциональной идеей которого является простая игра.
==Построение==
 
[[Игра "Ползунок". Правила игры|Правила игры ...]]
 
==Цель==
Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в DLL (Dynamically Linked Library - динамически связываемые библиотеки). Попутно демонстрируется генерация и обработка исключений.
 
==Особенности==
*'''Набор проектов'''
**Релиз 13 состоит из набора строго взаимосвязанных проектов - проекта главного приложения и трех DLL, для каждой из которых предусмотрен самостоятельный проект.
**Набор проектов содержит:
***Проект ObjectWin - проект главного исполняемого приложения.
***Проект ModelsDLL (генерирует DLL), в который помещены модели компьютерных стратегий игры Computer0, Computer1, Computer2.
***Проект Computer3DLL (генерирует DLL), в который помещена модель стратегии игры Computer3 (в некокоммерческой версии проекта нет, поставляется только сама DLL).
***Проект HumanInterfaceDLL (генерирует DLL), в который помещены классы, отноящиеся к HumanInterface (в некокоммерческой версии проекта нет, поставляется только сама DLL). Эта DLL вызывается с помощью библиотеки, которая связывается с главным приложением в процессе построения приложения.
*'''Функциональное повторение'''
Функционально Release 13 ничем не отличается от Release 12 (и 11).
*'''Обработка исключений, связанных с DLL'''
Реагирование на возможные нарушения в составе приложения - либо отсутствие DLL, либо нарушение в DLL соглашений взаимодействия c главным приложением.
*'''Новая модель игрока'''
В Release 13 к использовавшимся ранее моделям добавлена новая модель игрока - Computer3, помещенная в DLL.
 
Эта модель не лучшая, но одна из возможных. Ее код не раскрывается не потому, что она содержит кокое-то Know-How.
 
Такое представление оставляет возможность во-первых показать соревнование двух разных моделей на поле достаточно большого размера, а во-вторых - устраивать в будущем как попарные, так и групповые состязания моделей, написанных разными людьми.
 
==Загрузка и установка==
'''Для установки и запуска''' проектов семейства Релиз 13 следует:
*Сгрузить архивы
**'''PdcSpbSDK_13_Classes.zip'''
**'''PdcSpbSDK_72_PE_Examples_Polyline13_Programs.zip'''
 
используя страницу  форума PDC [http://discuss.visual-prolog.com/viewtopic.php?p=32221#32221 (VIP-Средства и Примеры)]
*Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора Релиз 13 должна выглядеть так (вариант коммерческой версии):
[[Image:Polyline13Structure.jpg]]
 
==Исполнение==
Откройте, постройте и запустите проекты, '''используя VIP 7.2''':
*Programs/ModelsDLL/ModelsDLL.prj Предупреждение в процессе компиляции указывает на специально сделанную ошибочную декларацию. Это сделано для демонстрации реакции на ошибку в DLL
*Programs/Computer3DLL/Computer3DLL.prj (только в коммерческой версии)
*Programs/HumanInterfaceDLL/HumanInterfaceDLL.prj (только в коммерческой версии)


Откройте и постройте проекты:
*Programs/ModelsDLL/ModelsDLL.prj.
Предупреждение в процессе компиляции указывает на специально сделанную ошибочную декларацию. Это сделано для демонстрации реакции на ошибку в DLL.
*Programs/Computer3DLL/Computer3DLL.prj
*Programs/HumanInterfaceDLL/HumanInterfaceDLL.prj
*Programs/ObjectWin/Polyline13_ObjWindows.prj  
*Programs/ObjectWin/Polyline13_ObjWindows.prj  


Для построения проектов Релиз 13 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK.
{{PolylineBuildCMD}}
Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка:
|open=
*ru - русский
|run=
*en - английский
{{PolylineRun7_X}}
 
|enver=
=Ссылки=
[[en:Tutorial Project. Release 12]]
[[en:Tutorial Project. Release 13]]
}}
[[Category:Проекты]]
[[Category:Игры]]

Версия 18:29, 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...