|
Программирование >> Разработка пользовательского интерфейса
Стандарт OLE 2.0 описывает правила интеграции прикладных программ. Он фактически расширяет пользовательский интерфейс, делая его более интуитивно понятным. Стандарт OLE 2.0 не ставит пользователя перед необходимостью набора команд или выбора опций, предоставляя возможность выполнять работу более естественным способом, управляя объектами в интерактивном режиме на экране компьютера. Пользователь, вместо того чтобы изучать методы работы с прикладный программой или операционной системой, может сосредоточиться на более эффективной работе с данными и документами. Технология OLE 2.0 особенно полезна потому, что устанавливает стандартный метод взаимодействия между прикладными программами при использовании различных объектов (документов, подготовленных разными прикладными программами). Она предлагает мощные средства для создания документов, получающих данные из разнообразных источников информации. Такие документы называются составными документами. Объекты, которые они содержат, могут включать почти любой тип информации, в том числе текст, растровые изображения, иллюстрации и фрагменты речи. В технологии OLE 2.0 выделяются два главных типа данных, связанных с объектом: данные представления и локальные данные. Данные представления объекта - это информация, нужная для представления объекта на экране компьютера, в то время как локальные данные объекта - это вся информация, необходимая для прикладной программы, чтобы редактировать объект. Используя OLE 2.0 пользователь может также связывать или включать объект в документ. Представляя изображения, диаграммы, таблицы, фрагменты речи, документы и другие функциональные единицы программы как объекты, пользователи могут с большей легкостью объединять и обрабатывать данные из разных прикладных программ. В этом параграфе мы изучим: основные преимущества использования технологии OLE; методику создания и использования OLE-объектов; принципы работы OLE Automation. Какие преимущества дает пользователю и разработчику эта технология? Вот основные из них: Редактирование на месте позволяет работать с документом другого приложения Windows, не покидая пользовательского приложения. Необходимые элементы управления, включая меню, появятся на месте текущих, а после завершения работы вернутся на свое место элементы управления и меню пользовательского приложения. Это позволяет избежать необходимости ручной загрузки и перехода в другое приложение. Перетаскивание данных между приложениями помогает реализовать наиболее естественный для пользователя метод сбора различных данных для использования в одном документе. Технологии встраивания и связывания объектов дают возможность выбрать наиболее эффективный способ объединения разнородных данных в одном документе. При этом связывание позволяет не увеличивать без необходимости объем документа и использовать наиболее свежую версию данных, хранящуюся в отдельном файле. Встраивание обеспечивает хранение всех необходимых данных в одном приложении. Поддержка вложенных объектов позволяет в одном документе держать несколько зависимых объектов без необходимости обращения к нескольким приложениям. Например, встроенная в форму электронная таблица Excel может содержать встроенную в таблицу диаграмму. Изменения в электронной таблице повлекут изменения в диаграмме. OLE Automation позволяет в приложении программным путем устанавливать свойства и задавать команды для объектов другого приложения. Это дает большие возможности для управления процессом подготовки текстовых документов высокого качества, формирования графиков или выполнения расчетов. Возможности OLE 2.0 Локальные данные, связанные с объектом, существуют в некотором другом файле на диске. Всякий раз, когда объект модифицируется прикладной программой, этот файл открывается и прикладная программа использует хранящиеся в нем локальные данные. Пользователь работает со связанным объектом так, как будто он полностью содержится внутри документа. Включение объекта физически помещает данные представления объекта и локальные данные внутри документа. Вся информация, необходимая для редактирования объекта, содержится в документе. Любой объект, который содержит другие объекты (как связанные, так и вложенные), называется контейнером. Контейнерами чаще всего являются составные документы. Включение объектов хотя и увеличивает объем документа, но позволяет перемещать объект наряду с документом на другой компьютер и тем самым редактировать такие объекты на различных рабочих местах. Связанные объекты не могут путешествовать с документами за пределы локальной файловой системы компьютера, но они более эффективны, чем вложенные объекты, потому что один образец локальных данных объекта может служить источником для большого числа различных документов. Использование OLE Automation Один из важнейших элементов стандарта OLE 2.0 - OLE Automation - определяет способ управления командами прикладной программы из другой прикладной программы. Прикладные программы, поддерживающие OLE Automation, имеют соответствующие объекты, которые так и называются - объекты OLE Automation, посредством которых вы можете управлять работой всех остальных объектов прикладной программы, используя возможности Visual Basic for Application. OLE Automation для управления объектами использует OLE-серверы. OLE-сервер - это программа, которая может предоставить другим программам возможность использовать свои объекты. Программы, которые могут управлять объектами OLE-серверов, называются OLE-клиенты или OLE-контроллеры. Например, в версии 3.0 Visual FoxPro может выполнять функции только OLE-контроллера. Мы можем управлять объектами OLE-сервера, но не можем предоставить в чье-либо управление объекты Visual FoxPro. Большинство OLE-серверов являются так называемыми серверами Out-of-Process. Они являются исполняемыми программами и могут взаимодействовать как с 16-bit, так и с 32-bit OLE-контроллерами. Расплатой за это является невысокая скорость обмена данными и значительные потребляемые ресурсы памяти. Другой тип OLE-сервера называется In-Process и представляет собой DLL-библиотеку, которая динамически подгружается и выгружается по необходимости. Хорошим примером такого сервера является процессор баз данных СУБД Access 7.0. Обмен данными с этим типом OLE-сервера происходит значительно быстрее, но работать он может только с OLE-контроллером такой же разрядности. В табл. 10.1 приводится важная для разработчика информация о некоторых OLE-серверах Microsoft. Таблица 10.1. OLE-серверы Microsoft OLE-сервер Где найти информацию об объектах Связывание - это процесс, при котором в документ будут помещены только данные представления объекта и ссылка (или указатель на местонахождение) на локальные данные. Объект коллекции - это набор объектов, имеющих общие свойства, события и методы, что позволяет сослаться на них как на единый объект. Объекты коллекции позволяют значительно проще выполнять многие распространенные действия с прикладной программой. Например, для выполнения действий с каждым объектом в коллекции можно использовать оператор цикла: * Организуем ссылку на запущенное приложение oExlApp = GETOBJECT(, Excel.Application ) nWrk = 1 * Определяем, сколько открыто рабочих книг nCount = oExlApp.Application.WorkBooks.Count FOR nWrk = 1 TO nCount * Выведем наименование каждой рабочей книги ? oExlApp.Application.WorkBooks.Item(nWrk).FullName NEXT * Закроем приложение oExlApp.Application.Quit Чтобы запустить этот пример, загрузите Excel, откройте несколько файлов. В Visual FoxPro наберите приведенный в примере код в программном файле. В окне Command сделать это нельзя Серверы Out-of-Process Microsoft Schedule+ 7.0 - Microsoft Graph 5.0 VBA GRP.HLP Microsoft Word 7.0 WRDBASIC.HLP Microsoft Excel 7.0 VBA XL.HLP Cерверы In-Process Data Access Object DAO.HLP, DAOSDK.HLP SQL Distributed SQLBOOKS.MVB Management Objects В качестве примера приведем несколько OLE-объектов для Microsoft Excel: Application - запускает программу Microsoft Excel; Workbook - рабочая книга, которая включает отдельные листы - один файл формата Microsoft Excel; Chart - график в рабочей книге; Worksheet - рабочий лист в книге; Range - одна ячейка или диапазон ячеек на листе. В таких больших приложениях, как Microsoft Excel, мы сталкиваемся с очень большим количеством объектов. Причем каждый объект занимает свое строго определенное положение в иерархии объектов. Поэтому, обращаясь к объекту, мы должны, соответственно, перемещаться по этой иерархической структуре. Наверху иерархии находится объект Application. Какие-либо события или действия, связанные с этим объектом, будут иметь отношение в целом к прикладной программе. Например, для того чтобы закрыть приложение, мы должны написать такую команду: Application.Quit Объект Application включает в себя большое количество других объектов. Например, вы можете использовать следующую команду для ссылки на текущую рабочую книгу, открытую в Microsoft Excel: Application.Workbooks Заметьте, что название объекта Workbooks приводится во множественном числе, потому что это ссылка на коллекцию объектов, в данном случае рабочих книг.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |