
- •1 Билет
- •1) Стандарт орс (назначение и общее представление, орс сервер, орс группа, орс item).
- •2) Процесс разработки по систем управления(обычный подход – «waterfall», итеративный подход).
- •2 Билет.
- •1) По систем управления. Основные понятия(представление о классах, сом интерфейсах, ActiveX).
- •Билет №3.
- •2) Оригинальные инструментальные средства разработки программного обеспечения систем управления (nCsApp Wizard, State Machine Builder).
- •Билет №4.
- •1) Основные классы mfc (cObject, коллекции, cString, cWnd, механизм документа отображение).
- •2) Идеи компонентного подхода (базовый интерфейс iUnknown, включение, агрегация).
- •IUnknown
- •5 Билет.
- •1) Операционные системы реального времени и системы управления (классификация систем реального времени, Windows nt & rtx, VxWorks, многопоточность).
- •2) Поддержка com в Windows nt (реестр Widows, dcom, реализация сервера в процессе, реализация сервера за пределами процесса).
- •6 Билет.
- •1)Средства синхронизации потоков на примере Windows nt & rtx (Критическая секция,mutex, семафор, shared memory, приоритеты, ...).
- •2) Распределенная модель системы управления (Пример выделения компонентов на базе геометрического канала).
- •Глава 4. Технологии разработки программного обеспечения систем управления 221
- •7 Билет.
- •2.2.3. Базовые понятия операционной системы реального времени
- •2.2.4. Использование в системах управления операционной системы Windows nt
- •2) Общее представление, назначение и использование ActiveX (место ActiveX-элементов в системе управления, способы их создания на базе mfc и на базе atl).
- •4.4.1. Базовые понятия
- •9 Билет.
- •1)Стратегия диспетчеризации на базе расширения rtx (основные потоки системы управления с использованием Windows nt и rtx).
- •2)Назначение страниц свойств, сериализация свойств (стандартные и пользовательские property page).
- •2) Назначение страниц свойств, сериализация свойств (стандартные и пользовательские property page).
- •10 Билет.
- •1) Базовые функции коммуникационной среды (запрос, управление, отображение, вспомагательные функции; выделение фазы обмена данными).
- •2) Идеи ole-автоматизации (базовый интерфейс iDispatch, его ключевые функции).
2) Общее представление, назначение и использование ActiveX (место ActiveX-элементов в системе управления, способы их создания на базе mfc и на базе atl).
/*ActiveX - технология Microsoft, предназначенная для написания сетевых приложений. Она предоставляет программистам наборы стандартных библиотек, значительно облегчающих процесс кодирования. Если раньше при написании программ использовались механизмы OLE (OLE Automation, OLE Documents, OLE Controls,...), основанные на компонентной объектной модели (COM - Component Object Model), то теперь библиотеки OLE переписаны так, чтобы обеспечивать функциональность, достаточную для написания сетевых приложений. Таким образом, теперь при написании программ используется DCOM (Distributed Component Object Model) - распределенная компонентная объектная модель, а реализуют ее библиотеки ActiveX, которые по объему оказались гораздо меньше, чем библиотеки OLE, а по скорости - быстрее. Сохранилась и совместимость - любой программный компонент OLE будет работать с библиотеками ActiveX.*/
Понятие ActiveX.
Элемент ActiveX – это переносимый программный модуль, выполняющий
определенную задачу или набор задач. Элементы Active X похожи на стандартные элементы управления Windows, как кнопки или списки, которые можно размещать в диалоговых или других окнах. Он может отображать календарь, создавать диаграмму, служить диалоговым окном для чтения или записи информации в базу данных.
Технология ActiveX появилась с целью существенно увеличить функциональные
возможности компьютера, за счет интеграции в Internet и локальные сети, а также позволить программистам повторно использовать ранее написанный код. ActiveX – это набор технологий, позволяющий программным компонентам взаимодействовать друг с другом в сетевой среде (такой как Internet) независимо от языка на котором они реализованы. ActiveX является расширенной технологией OLE (Object Linking and Embedding). Эти стандарты базируются на основе модели COM (Component Object Model) и позволяют реализовывать компонентную архитектуру программного обеспечения. Основным достоинством их является большая скорость выполнения, за счет прямого доступа к ресурсам операционной системы, и возможность повторного использования кода. Повторность использования кода позволило разработчику использовать в различных приложениях один раз написанный код, использовать код написанный другими программистами, что в несколько раз увеличило скорость разработки программного обеспечения. Технология ActiveX работает только в среде Windows.
Коды и ресурсы ActiveX хранятся в отдельном файле с расширением .ocx. Элемент
ActiveX можно включить в программы на Visual C++, Visual Basic, Visual J++, поместить на Web-странице в сети Internet или локальной сети, использовать в приложениях баз данных или в любой программе, которая поддерживает технологию ActiveX.
Элементы ActiveX можно включать в любое приложение, независимо от языка
программирования. Приложение, в котором встраивается элемент управления ActiveX,
называется контейнером. ActiveX предоставляет три основных способа взаимодействия с
приложением: свойства, методы и события. Свойства – это атрибуты элемента, например для квадрата свойством может являться его цвет, координата верхнего левого угла, длина стороны.
Метод – это функция элемента ActiveX, которую может вызвать приложение, например, метод может вызвать диалоговое окно About с информацией об элементе. Событие – это то, что происходит внутри элемента, например щелчок мыши на элементе, передающий сообщение контейнеру. События могут предоставлять интерфейсы, через которые можно передавать сигналы – события всем заинтересованным в них программам. Взаимодействие приложения и элемента управления ActiveX представлено на рисунке 1.
Рис.1. Взаимодействие контейнер и ActiveX.
При свершении какого-либо события контейнер обращается к элементу Active X, а при
вызове метода или при изменении свойств – ActiveX передает в контейнер данные.
ATL (Active Template Library) – это библиотека шаблонов классов С++, позволяющая
создавать СОМ-объекты. Библиотека содержит базовые классы, реализующие
функциональность любого СОМ-объекта, классы реализующие основные интерфейсы OLE и ActiveX, а также вспомогательные классы для реализации обычных и диалоговых окон, для описания исполняемых модулей, хранения строк и т.п.
При использовании библиотеки шаблонов новый класс создаётся путём подстановки
других классов в качестве параметров шаблона, а не путём наследования, как в обычных
библиотеках (например, MFC).
Одним из первых методов разработки элементов управления и , до сих пор самым
эффективным, является применение библиотеки MFC. Однако в 1997 году Microsoft выпустила вторую версию библиотеки ATL, которая обеспечивает полную поддержку элементов управления ActiveX (разработка ActiveX с помощью ATL будет рассмотрена в лабораторной №3). При разработке ActiveX с помощью MFC необходимо учитывать то, что часть исполняемого программного кода находится в файлах библиотеки. И при повторном использовании или распространении ActiveX необходимо включать эти файлы, которые могут занимать до нескольких Мб.
Итак, если перед вами стоит задача создания профессиональных, высокоэффективных
элементов управления, следует пользоваться библиотекой ATL. Она обеспечивает наибольшую гибкость и является наилучшим средством разработки элементов управления ActiveX на C++.
Объекты MFC и ATL могут сосуществовать в одном проекте, но использовать их
параллельно достаточно сложно. Кроме того, нельзя с помощью классов MFC управлять
объектами Windows, созданными посредством ATL. В итоге, MFC предназначена для
использования в больших, сложных, многооконных Windows-приложениях, для которых COM является только одним из свойств.
Из Сосонкина:
Классы ActiveX-управляющих элементов также составляют галерею и относятся к OLE-механизмам Windows NT. Их применение сохраняет возможности обычных управляющих элементов, а кроме того, позволяет использовать различного рода настройки (масштаб, цвета, шрифты и др.) и создавать экзотические элементы управления, на-
пример непрямоугольные или прозрачные формы на экране.
Любой виртуальный прибор реализован как ActiveX-элемент [66] и может быть встроен в стандартный или пользовательский контейнер в среде MSWindowsNT.