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

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

м
Строка 19: Строка 19:
Функционально Release 13 ничем не отличается от Release 12 (и 11).
Функционально Release 13 ничем не отличается от Release 12 (и 11).
*'''Обработка исключений, связанных с DLL'''
*'''Обработка исключений, связанных с DLL'''
реагирование на возможные нарушения в составе приложения - либо отсутствие DLL, либо нарушение в DLL соглашений взаимодействия c главным приложением.
Реагирование на возможные нарушения в составе приложения - либо отсутствие DLL, либо нарушение в DLL соглашений взаимодействия c главным приложением.
*'''Новая модель игрока'''
*'''Новая модель игрока'''
В Release 13 к использовавшимся ранее моделям добавлена новая модель игрока - Computer3, помещенная в DLL.
В Release 13 к использовавшимся ранее моделям добавлена новая модель игрока - Computer3, помещенная в DLL.

Версия 10:33, 14 июля 2010

Автор: Виктор Юхтенко

Очередная итерация Учебного проекта, функциональной идеей которого является простая игра.

Правила игры ...

Цель

Демонстрация различных способов взаимодействия главного приложения с частями проекта, помещенными в 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 (VIP-Средства и Примеры)

  • Разархивировать эти архивы в одной и той же директории. Следует иметь в виду, что каждый из архивов создает структуру папок (иногда с повторениями) с корнем PdcSpbSDK. В результате структура всего набора Релиз 13 должна выглядеть так (вариант коммерческой версии):

Polyline13Structure.jpg

Исполнение

Откройте, постройте и запустите проекты, используя VIP 7.2:

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

Для построения проектов Релиз 13 переменная SpbSolutions среды программирования IDE должна быть определена как маршрут к директории PdcSpbSDK. Язык приложения, если поддерживается иной, кроме английского, определяется помещением в командной строке идентификатора языка:

  • ru - русский
  • en - английский

Ссылки