30829-1 (Контроллер связываемых объектов), страница 6

2016-07-31СтудИзба

Описание файла

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

Онлайн просмотр документа "30829-1"

Текст 6 страницы из документа "30829-1"

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;

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

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

Данные о документах находящихся в проекте хранятся в следующей структуре:

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

  • описание - текст описывающий документ, составляется пользователем;

  • имя файла - путь и имя файла документа;

  • время создания документа;

  • имя приложения - имя приложения которое обрабатывает этот документ (выбирается из зарегистрированных в программе приложений или стандартный обработчик Windows документа с таким расширением) ;

  • иконка - путь и имя иконки для визуального представления документа в окне проекта;

  • подпись - текст под иконкой документа в окне проекта;

  • координаты документа в окне проекта;

  • указатели на исходящие из документа функции OLE в проекте.

Наиболее объемными являются данные о функциях OLE содержащихся в проекте, состоящие из следующих переменных:

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

  • описание - текст описывающий функцию, составляется пользователем;

  • имя файла - путь и имя файла функции;

  • время создания функции;

  • функция автомата - вызываемый метод;

  • имя приложения - имя приложения которое эту функцию (выбирается из зарегистрированных в программе функций);

  • иконка - путь и имя иконки для визуального представления функции в окне проекта;

  • подпись - текст под иконкой функции в окне проекта;

  • координаты функции в окне проекта;

  • флаг автоматического выполнения функции в случае изменения любого входящего в из функцию документа;

  • флаг запроса пользователя перед выполнением функции;

  • указатели на исходящие функции OLE в проекте;

  • указатели на входящие функции OLE в проекте;

  • указатели на исходящие из функции документы;

  • указатели на входящие в функцию документы;

  • линковщик документов и функции - строка связывающая документы и функцию в одну строку используемую программой в качестве вызова функции с параметрами.

Четвертая общая часть состоящая из различных переменных необходимых для работы всей программы состоит из следующего:

  • различные флаги устанавливаемые и снимаемые различными функциями и подпрограммами для разделения ресурсов выделенных программе;

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

  • переменные обмена информации (определяющие состояние буфера обмена и структуру данных находящихся в буфере обмена).

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

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

Инструкция пользователя по работе с программой

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

После установки программы на диск ее можно запускать, для этого нужна лишь дважды щелкнуть на иконке программы или в главном меню Windows (“Пуск”) выбрать пункт “Выполнить” и изменить путь до исполняемого файла до запускаемого файла контроллера - Controller.exe и нажать кнопку “ОК”. После чего программа запустится и на экране появится главная форма программы (окно).

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

Основное окно программы состоит из рабочей области и меню, а также меню появляющееся при нажатии правой кнопки мыши (рис. 3.1).

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

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

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

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

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

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

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

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

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

Если необходимость в программе контроллера отпала, то ее можно удалить с диска. Однако программа контроллера не снабжена специальным файлом унинсталляции, как это требует стандарт программ для Windows 95, поскольку для создания этого файла программисту необходимо досконально знать всю систему Windows, что сейчас при недостатке информации о Windows (т.к. эта система является относительно новой) в наших условиях невозможно. По этому для удаления программы с носителя кроме удаления самой директории программы контроллера необходимо удалить все DLL-файлы из директория Windows самостоятельно. Список всех файлов программы приведен в приложении.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5166
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее