на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Контроллер связываемых объектов


7. Существует открытый стандартный интерфейс для работы с программными компонентами, в каждую программу и приложение можно интегрировать стандартный набор средств, позволяющий использовать в дальнейшем данные программы в виде компонент для будущих приложений. Механизм ОLЕ и новая технология в виде ОСХ (ОLЕ Custom Control). ОLЕ не только предлагает стандарт в определении объекта, но также определяет, как и каким образом объекты могут взаимодействовать друг с другом. / 3 /

Основные новшества в Visual Basic версии 4.0

·     наличие 16- и 32-разрядной редакции;

·     работа в среде Windows 3.1, Windows для Рабочих Групп 3.11, Windows 95, Windows NТ;

·     возможность создания ОLЕ Automation объектов;

·     поддержка OСХ и VВХ;

·     расширение ТооlВох (Окно Инструментария) за счет ОLЕ Insertable объектов;

·     использование JЕТ версии 2.5;

·     наличие новых и поддержка специализированных Data Bound Control (объектов, значительно упрощающих работу с базами данных);

·     использование ВАО версии 2.0;

·     открытая и расширяемая среда разработки;

·     возможность разбиения длинных строк в программном коде;

·     расширение лексики языка программирования;

·     запуск одновременно нескольких копий Visual Basic 4.0;

·     директивы условной компиляции;

·     поддержка файлов-ресурсов;

·     создание 32-разрядных приложений;

Директивы условной компиляции программы. Разработчик имеет возможность, используя директивы условной компиляции выбирать, например, какую версию приложения (16- или 32-разрядную) он собирается создать. Используя подобные директивы, можно создавать программы, имеющие один и тот же исходный текст, но которые после компиляции смогут работать на различных платформах.

Object Browser (Инспектор объектов). Данное средство предназначено для облегчения идентификации и управления всеми ОLЕ Automation Servers, на которые есть ссылки в проекте. Выбрав нужный объект, разработчик может легко выбрать и передать корректный синтаксис выражения работы с объектом в текст программы или вызвать встроенную помощь для данного объекта.

Встроенный редактор. Увеличена функциональны мощь встроенного редактора. Во-первых, расширены возможности настройки, точнее постройки, “на свой вкус” формата отображаемых строк кода, комментариев, ключевых слов, идентификаторов, точек останова, и т. д. Можно задать различные фонты, цвета и размеры фонтов для облегчения чтения текста программы. Во-вторых, улучшена работа с отладочным окном. Больше нет необходимости держать и окно с отлаживаемым текстом программы и окно с отображаемыми переменными - теперь достаточно использовать одно окно, состоящее из двух подвижных частей: нижнее подокно представляет собой полнофункциональный редактор кода, верхнее же показывает содержимое переменных.

Расширение лексики языка программирования. Для объявления подпрограмм и функций, доступных или не доступных из других модулей проекта, введены дополнительные служебные слова при объявлении процедур: Public и Private соответственно. Visual Basic 4.0 “прихватил” теперь кусочек Pascal, добавив к своему лексическому запасу выражения “With”, ”For Each”, а также добавлены новые типы данных - Byte (простое без знаковое, для представления чисел в диапазоне 0-255), Вооlean 16 битовые (2-байта) числа, которые могут принимать только два значения: True или False) и Collection. Collection позволяет построить собственную группу пронумерованных объектов. Использование Collection более предпочтительно, чем использование массивов вследствие большей гибкости индексов, и наличия наследуемых методов для вставляемых и удаляемых объектов коллекции.

Процедуры свойств (property procedures). Появилась возможность создавать для объектов (форм, стандартных модулей и модулей классов) собственные специализированные свойства (properties), и привязывать к ним выполняемый код, который будет вызываться при обращении к свойству.

Расширяемость оболочки программирования. Оболочка разработки (IDE) самого Visual Basic 4.0 также может быть управляем через ОLЕ Automation, что позволяет ОLЕ приложениям создавать и размещать в специальное меню Add-In Visual Basic 4.0 свои команды, расширяя таким образом возможности IDE.

Создание ОLЕ Objekt приложений и классы (Сlasses). Одной из основных претензий к Visual Basic со стороны профессиональных программистов служило отсутствие средств создания готовых модулей для последующего использования. Программист вынужден был обращаться к С, С++, Раsсаl или другим языкам программирования для создания DLL и вызовам функций DLL из программы на Visual Basic или, например, из приложения Microsoft Office. С выходом Visual Basic 4.0 данная ситуация коренным образом изменилась, программисты могут создать объекты ОLЕ Automation. Библиотеки подобных объектов, каждый со своими характеристиками и методами управления, могут быть использованы из любого приложения, имеющего возможность контролировать приложение, являющееся ОLЕ объектом (OLE Object Application).

По определению, такие объекты названы классами (Claases) - (эту часть языка Visual Basic взял от С++) и располагаются в специальных модулях (class module). Для совместимости с программами, реализованными в третьей версии и использующими VВХ из стандартного набора, Visual Basic 4.0 включает ОLЕ Custom Control (OCX), заменяющие эти VВХ. При вызове проекта программы, разработанной в среде предыдущей версии Visual Basic и использующей один из стандартных VBX предложит автоматически преобразовать ссылки на новые ОСХ. Такие приложения, как Microsoft Excel для Windows, Microsoft Word для Windows и другие, являющиеся ОLЕ приложениями, теперь можно вставлять в Окно Инструментария (ТооlBох) как обычные элементы управления.

Таким образом можно сказать об некоторой универсальности Visual Basic для создания приложений для Windows.

2. РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ И АЛГОРИТМОВ ПРОГРАММЫ

2.1. Функциональная схема работы Windows 95

Операционная система должна обеспечивать взаимодействие приложения как самой верхней ступени с самым нижним уровнем иерархии - аппаратной частью компьютера, через набор каких-либо стандартных функций и подпрограмм. Кроме того она должна обеспечивать пользователя удобным интерфейсом. Рассмотрим как это реализовано в выбранной операционной системе Windows 95. Функциональная схема работы операционной системы Windows 95 представленная на рис 2.1.

Аппаратная часть компьютера представляющая собой какие-либо устройства ввода-вывода информации (клавиатура, мышь, принтер, плоттер, сканер, устройство чтения компакт дисков, монитор и т.д.) подключена на системную шину через так называемые контроллеры устройств имеющие в адресном пространстве памяти вычислительной машины какие-то адреса называемые портами ввода-вывода. Через эти порты при низкоуровневом программировании программист может обмениваться информацией с устройством. Но сейчас такая технология считается устаревшей и приводящей к излишним затратам ресурсов. Ведь в таком случае стандартные функции обмена информацией должны находится в каждой программе которая могла обмениваться информацией с внешними устройствами.

Windows 95 обеспечивает взаимодействие с внешними устройствами как с потоками информации независимо от самого устройства через свои собственные драйвера устройств.

Итак, устройства обмена информацией подключаются к компьютеру через контроллеры, которыми управляют драйверы устройств. Драйверы устройств разработаны таким образом, что при передаче информации на устройство они организовывают очередь следуя которой на устройство передается информация от различных приложений (например принтер). Однако при передаче информации в обратном направлении (от устройства) драйверы создают так называемые события (например событие “закончена печать” от принтера или “нажата кнопка” от мыши), которые операционной системой помещаются в глобальную очередь событий, из которой события попадают в специальный блок определения назначения события. Там по информации хранящейся в системе: приоритет события, какое приложение открыло поток обмены с устройством, приоритет приложения открывшего поток обмена и пр. Определяется назначение события, его принадлежность определенной виртуальной машине организованной системой. По этому назначению передается сообщение о происходящем событии приложению которое должно его обработать.

В отдельной виртуальной машине приложения по приходе событий организовывается локальная очередь событий. Из которой сообщения о событиях передаются по так называемому фокусу объекту который в этот момент находится в фокусе. Объектом может быть любой элемент управления (как то кнопки, поля ввода, имиджи, иконки, картинки и т.д.). С объектом связана целая система процедур и функций которые могут обрабатывать события приходящие объекту, а также могут передавать их другим объектам или выше на ступень по иерархии объектов (элементы управления передавать формам, а формы в свою очередь более глобальным формам или окнам приложений или самой системе).

Таким образом, задача программиста заключается в создании подпрограмм и функции реагирующих определенным образом на события приходящие от системы, для всех объектов которые могут использовать эти события в целях определяемых программой в целом, для конкретной задачи поставленной перед программой.

2.2. Используемая терминология

Итак, Visual Basic предназначен для быстрого создания приложений в среде Windows, и как любая программа для Windows, программа, написанная на Visual Basic, должна иметь как минимум одно окно.

В терминах Visual Basic все окна есть формы, в программе может быть множество окон-форм. Формы в программе служат для отображения элементов пользовательского интерфейса. На каждой форме может находится некоторое количество элементов управления, а также графика и даже другие формы, причем, как вырожденный случай, на форме может вообще не располагаться ни одного элемента.

В том случае, когда приложение использует окно-форму для отображения различных типов информации или предоставляет возможность работать в нескольких режимах, чтобы не засорять площадь окна множество дополнительных элементов, используется линейка ниспадающих меню. Каждое меню содержит список пунктов, которые в свою очередь могут разворачиваться в подменю. Названия подобных вложенных подменю, а также пунктов меню, при выборе которых потребуется в отдельном диалоговом окне выполнить некие дополнительные действия, при отображении в списке пунктов меню дополняются справа многоточием.

Элементы управления служат для отображения информации, выбора из некоторого множества объектов, а также для более ясного и четкого восприятия.

Любая, даже простейшая программа на Visual Basic, имеет свой Проект (project), информацию о котором хранится в специальном файле. В проект программы, отображаемом в специальном окне Проекта, помещаются все формы, модули и файлы, совокупность которых и составляет программу.

Visual Basic не является объектно-ориентированным языком в догматическом понимании ООП (объектно-ориентированное программирование), Visual Basic базируется на парадигме событийно-ориентированного программирования: программа - суть некий набор реального или виртуального мира, каждый из которых понимает некий ограниченный набор событий (возможна, расширяемый). По приходу каждого события из набора отслеживаемых событий формы и элементы управления могут реагировать определенным образом, в соответствии с программным кодом, реализованным программистом для каждого объекта.

Для внесения управляющего программного кода для событий и методов используется Редактор Кода, который служит для создания, просмотра и модификации подпрограмм (Sub) и функций (Function). Процедура представляет собой подпрограмму, которая не возвращает результата.

Программный код, связанный с формами и элементами управления, служит для реализации ответной реакции программы на действия пользователя или приход системного события.

Программный код может находиться в специальных программных модулях (стандартные модули и модули классов) или быть “привязан” только к элементу управления (то есть объекту) или форме.

Кроме набора событий (events), для каждого элемента управления существует предопределенный (возможно, расширяемый) набор свойств или характеристик (properties), представляющих собой некие начальные установки. Данные свойства разделяются по сфере доступности: есть свойства, которые могут устанавливаться только в режиме разработки, только во время выполнения программы или в обоих случаях. Установка и настройка свойств объектов осуществляется в окне Свойств (Properties).

Для элементов управления и форм также существует связанный с ними набор методов (method), которые можно рассматривать как набор команд, понимаемых данным объектом.

Для некоторых отображаемых на экране элементов управления есть возможность задавать различные основные цвета и цвета фона. Для удобства выбора нужных цветов используется Цветовая Палитра (Color Palette).

2.3. Синтез общей структурной схемы программы

Таким образом переходя к синтезу структурной схемы программы можно условно разбить на несколько логических блоков. Каждый из которых представляет собой набор привязанных к объектам подпрограмм, функций и данных (рис. 2.2).

Основным звеном программы является главная форма программы (Main_Form.frm) представляющая собой главную интерфейсную часть программы. В которой происходят все преобразования проекта. Проектом, в контексте данной программы, называется совокупность документов и функций OLE Automation находящихся в рабочей области программы в определенном взаимодействии друг с другом. Над которыми могут производится определенные действия по созданию, редактированию, удалению, запуску функций и пр. Приводящие к изменению как самого проекта в целом, так и просто документов входящих в проект.

В главной форме содержатся коды по обработке всех меню содержащихся в программе, в том числе и функций работы с системным буфером обмена информацией. Кроме того главная форма содержит программный код обрабатывающий все изменения проекта с точки зрения пользователя. В том числе создание документов, функций, их перемещение в проекте, удаление запуск функций на обработку документов и пр.

Из главной формы производится активизация всех дочерних форм программы в режиме модальных окон. То есть окон до закрытия которых работа основной программы главной формы (а иногда и всей системы в целом, как например в случае открытия окна сообщения о глобальной ошибке возможно приводящей к разрушению системы) приостанавливается.

Дочерними формами по отношению к главной форме являются, форма создания и редактирования свойств документов (MakeDocForm.frm), форма создания и редактирования свойств функций OLE Automation (MakeFunkForm.frm), форма создания и изменения регистрационных данных приложений поддерживающих OLE Automation или для которых необходима эмуляция этой поддержки (MakeDocForm.frm).

Форма создания и редактирования свойств документов содержит все необходимые элементы управления (объекты) для ввода и изменения данных о документе, а также его визуальном представлении в проекте (то есть его иконки).Также в этой форме содержится программный код обрабатывающий эти элементы управления и вносящий изменения в глобальную структуру данных о документах в проекте. Эта форма представляет собой окно под названием “Свойства документа”.

Форма создания и изменения регистрационных данных приложений также представляет собой окно под названием “Регистратор приложений” и также содержит в себе ряд объектов (элементов управления) и программный код обрабатывающий эти элементы управления для изменения данных о зарегистрированных приложениях которые могут участвовать в проекте в качестве непосредственных обработчиках документов, а также в виде функции OLE Automation.

Форма создания и редактирования свойств функций OLE Automation представляет собой окно “Свойства функции” и содержит элементы управления позволяющие редактировать свойства функции OLE Automation. Форма также содержит программный код модифицирующий глобальные данные о функциях в проекте.

Все глобальные данные, а также подпрограммы необходимые для работы большинства блоков программы и не входящие в какую либо форму содержатся в специальном модуле (MainModule), который не содержит в себе никаких объектов и вообще визуально не определяется. Он включает в себя только программный код определяющий всю структуру данных и хранит в себе данные о регистрации приложений, свойств функций и документов. А также данные необходимые для нормальной работы программы в целом. Как то, различные переменные по средством которых производится обмен данными между различными формами и окнами внутри самой программы. А также модуль включает в себя подпрограммы и функции необходимые для всего проекта в целом. Например функции открытия проекта, сохранения проекта на носителе информации и т.д., которые не входят в какую-либо форму и могут вызываться из любой части программы.

Следующим логическим блоком программы является блок обработки ошибок. Он строго говоря не выделяется в в программном виде как отдельная часть программы, но он содержится практически в каждой программной единице будь то подпрограмма или функция. Однако как существенная часть всего программного комплекса его стоит отметить отдельным блоком.

Кроме форм и модуля в структуру программы входит основной блок программного кода обеспечивающий взаимодействие с механизмом OLE Automation операционной системы Windows 95. Как раз в этом блоке осуществляется выполнение функций OLE Automation, на него легла основная часть формирования сообщений для Windows и приложений, а также расшифровка ответных сообщений системы и программ.

2.4. Разработка структурной схемы взаимодействия программы с механизмом связывания и внедрения

Для более качественной разработки алгоритма взаимодействия программы с механизмом связывания и внедрения объектов Windows 95, необходимо рассмотреть функциональную схему работы OLE и системы OLE Automation (рис 2.3).

В общем виде структура взаимодействия операционной системы и приложений состоит из трех частей:

OLE Server - OLE сервер это приложение обеспечивающее некоторое количество функций

OLE Client (Controller) - OLE клиент (контроллер) является приложением которое пользуется функциями OLE Automation OLE клиента

Windows 95/NT является посредником между клиентами и серверами OLE обеспечивая их взаимодействие через ряд стандартных потоков и буферов обмена информацией OLE.

OLE сервер, вернее его часть отвечающая за OLE взаимодействие состоит из двух частей. Регистратора интерфейсов OLE находящихся в ядре, и собственно ядра OLE сервера, которое в свою очередь состоит из OLE интерфейсов обеспечивающих при обращении к конкретному интерфейсу ряд функций называемых методами, они то и являются на самом деле OLE Automation функциями. OLE сервер является несмотря на простоту описания наиболее сложной частью всего взаимодействия посредствам OLE, с точки зрения программиста. Эта сложность обусловлена непосредственно сложностью самих методов OLE, обеспечиваемых сервером.

Windows 95 являясь посредником во всех операциях между клиентом и сервером, выполняет координирующую роль администратора при передаче данных. А также именно Windows хранит информацию о всех интерфейсах серверов, здесь существует структурированное хранилище для этих целей. Также Windows выполняет регистрацию этих интерфейсов и отвечает на запросы IID от клиентов. Кроме того Windows содержит буфер обмена информацией между клиентом и сервером. Блок OLE Automation производит непосредственное соединение сервера и клиента и обеспечивает их взаимодействие.

Данные могут передаваться через буфер обмена Widows, а также непосредственно между методами и объектом, но этот способ считается не корректным поскольку не позволяет перемещать OLE объект.

OLE клиент (контроллер) должен, кроме естественно вызовов самих методов OLE, обеспечивать корректную обработку всех сообщений в обратном направлении (от сервера), Клиент состоит из трех взаимосвязанных частей: блок запроса IID для интерфейса объекта, блок обработки ОLE документа и самого OLE объекта. Первая часть выполняет только подготовительную функцию, она запрашивает IID интерфейс для конкретного объекта у Windows 95, получает этот интерфейс и передает его дальше во второй блок. Во втором блоке проиходит сама обработка документа OLE объекта. Именно в этом блоке обрабатываются такие события как активация извне и активация изнутри. Применяя при этом соответствующие методы обработки этих событий по полученным от первого блока интерфейсы. По этим интерфейсам блок производит активизацию методов применяя либо уже заранее известную информацию о параметрах методов и ответной реакции методов на их активацию, либо полученную через интерфейс эту же информацию. Таким образом воздействуя на объект и являясь посредником при передаче информации между методами сервера и объектом.

OLE объект это сам документ помещаемый в приложение клиента. Представляет собой самый зависимый элемент во всей структуре взаимодействия. Он сам ни на что не влияет, однако на него влияют методы сервера вызываемые клиентом. И на самом деле включает в себя только данные и их структуру.

Таким же образом как и структура OLE клиента, должна выглядеть структурная схема той части контроллера автоматически связываемых объектов, которая отвечающая за взаимодействие с механизмом связывания и внедрения Windows 95.

Поскольку, по сути, контроллер должен являться клиентом практически для всех приложений присутствующих в системе, то информация о OLE интерфейсах отдельных приложений заранее не известна. По этому эта информация должна быть собрана перед внедрением конкретных объектов, то есть в процессе работы программы. Это вносит свои коррективы в конкретную структурную схему взаимодействия программы с OLE - добавляется блок сбора и интерпретации информации о интерфейсах приложений (рис 2.4).

Кроме того схема должна включать в себя блок эмуляции OLE для приложений не предназначенных изначально для OLE взаимодействия.

Таким образом произведен синтез структурной схемы взаимодействия с механизмом связывания и внедрения (OLE).

Разработка структуры данных

Приступая к разработке структуры данных необходимо разделять данные по критерию возможности доступа до них. Так данные применяемые только в форме должны находится в самой форме, а данные доступ до которых происходит из нескольких форм называются глобальными и обычно помещаются в модуль с применением префикса Public (для возможности доступа до них из вне).

В этом разделе будет описана структура данных из главного модуля программы в котором хранятся глобальные данные необходимые для всего проекта.

Модуль состоит из четырех частей (рис. 2..5), три из которых представляют собой структуры для представления в машинном виде данных о регистрированных приложениях, о документах находящихся в проекте и о функциях применяемых в проекте для работы с документами. В четвертой части находятся данные необходимые для взаимодействия между формами, и нормальной работы контроллера в целом.

Данные о регистрированных приложения состоят из следующих частей:

·     глобальный номер регистрации - представляет собой сквозную нумерацию всех когда либо зарегистрированных приложений не зависящею от количества установленных и удаленных приложений на данный конкретный момент времени;

·     описание - текст описывающий работу приложения, составляется пользователем;

·     имя файла - указатель на запускаемый файл приложения для работы с ним блока OLE Automation;

·     имя приложения - собственное расширенное имя приложения указываемое для удобства работы с программой;

·     маска файлов - одно или несколько расширений имен файлов документов с которыми может работать зарегистрированное приложение.

Страницы: 1, 2, 3, 4, 5


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.