Смекни!
smekni.com

Контроллер связываемых объектов (стр. 5 из 12)

Связывание и внедрение (Linking and Embedding). Связывание и внедрение - два принципа, которые по традиции известныв OLE (Objekt Linking and Embedding)лучше всего. Связывание и внедрение (вместоэтого теперь говорят просто о документах ОLЕ) позволяют объекту-клиенту (который может быть другим приложением) прикрепиться к объекту-серверу. Присоединение может либо осуществляться связыванием (данные находятся вне составного документа), либо данные могут внедряться внутрь составного документа. Внедренные данные сохраняются непосредственно в документе, в то время как при связывании для доступа к данным OLE в действительности сохраняет своего рода дорожную карту. Дорожной карта называется ярлыком (moniker). Когда ОLЕ получает запрос на восстановления данных, оно смотрит на ярлык (дорожную карту), чтобы их отыскать. Связанные данные могут храниться в не принадлежащем ОLЕ файле или в структурированном хранилище (возможно даже, что данные находятся где-то в самом составном документе).

Составной частью связывания и внедрения является способность OLE выполнять активацию по месту. В OLE 1 при двойном нажатии кнопки мыши над связанным или внедренным объектом запускается сервер этого объекта. В ОLЕ 2 возможна активация по месту. Для пользователя два приложения являются как бы одним. Активация по месту присоединяет нужные части приложения сервера (такие, как пункты меню и инструментальные линейки) к приложению клиента, когда пользователь работает с внедренным объектом. При двойном нажатии кнопкой мыши над внедренным объектом происходит преобразование приложения клиента, в нем изменяются меню и линейки инструментов, а также прочие элементы интерфейса, для работы с приложением сервера внедренного объекта. При двойном нажатии кнопкой мыши над связанным объектом приложение сервер запускается в отдельном окне (как в OLE 1).

В терминах OLE описанное выше действие (двойное нажатие для активациисервера) называется активацией извне (outside-in). При активации извне сервер объекта не активируется (не запускается), пока пользователь не нажмет над объектом кнопку мыши дважды. Активация изнутри (inside-out) требует, чтобы объект-клиент активировал объект-сервер всегда, когда объект-сервер виден. Сервер принимает управление по однократному нажатию кнопки мыши - потому, что для активируемых изнутри объектов он уже запущен заранее.

Как можно видеть, архитектура ОLE достаточно богата, а связывание и внедрение - лишь часть общей структуры.

1.3. Выбор и обоснование языка программирования

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

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

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

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

4. Использование уже существующего кода, возможно, написанного на другом языке программирования.

При разработке приложений для Windows вышеизложенным принципам очень удачно соответствует Visual Basic. Основные свойства этого языка программирования приведены ниже.

Возможности Visual Basic.

1. Все элементы пользовательского интерфейса можно создавать / модернизировать / удалять без всякой связи с алгоритмической "невидимой" частью программы. Все, что связано с взаимодействием с человеком или другим субъектом управления, находится в файлах форм (FRМ), VВХ и ОСХ, а все, что связано с расчетной частью, - в файлах стандартных модулей (ВАS) и классов(СLS), или, если нужна скорость обработки - в специально написанных на С, Pascal, Fortran или других язык программирования, DLL. Но это разнесение на самом деле чисто условно и делается просто с целью облегчения работы самому разработчику или, что более важно, - группе разработчиков. На самом деле, при небрежном проектировании или небольшой поставленной задаче и интерфейсная и алгоритмическая часть могут располагаться в одном модуле (FRМ или ВАS).

2. Формирование пользовательского интерфейса в Visual Basic похоже на работус детским конструктором - все элементы на виду, все элементы просты, носложность создаваемой конструкции ограничена только изобретательностью разработчика. Причем надо иметь ввиду, что число элементов этого конструктора постоянно и очень быстро растет. Сотни (на начало 1995 года около тысячи) сторонних производителей и фирм постоянно выбрасывают на рынок все новые, более мощные модели расширения для Visual Basic.

3. Если уже имеется готовый алгоритм БПФ (Быстрого Преобразования Фурье)на ассемблере или алгоритм быстрого поиска в отсортированном списке на С или Pascal, не надо переписывать их на Visual Basic. Достаточно оформить ихвиде DLL и использовать как функции.

4. Можно с помощью Visual Basic для Windows создавать запускаемые “.EXЕ” файлы.Visual Basic для Windows создает выполняемые (“. ЕХЕ”) файлы, ноне самодостаточные. Все программы, созданные на Visual Basic, должны распространяться с файлом VBRUNx00.DLL (x - номер версии 1,2 или 3)или VB400xx.DLL (xx - 16 или 32). Эта DLL обязательно должна присутствовать в каждой системе, где используются программы на Visual Basic для Windows.

Visual Basic дает возможность создавать приложения, работающие среде Windows. Программы компилируются в псевдокод (р-коде) и помещаются в файлы с расширением “.ЕХЕ”. Когда программа запускается,файл с р-соdе обращается к VBxxxx.DLL, которая интерпретирует р-code в последовательность инструкций Windows АРI.

5. Использование функций Windows АРI в Visual Basic довольно просто- необходимо ее объявить (declare) всекции объявлений или модуле кода.

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

6. Используемый механизм добавления элементов управления VВХ ( Visual Basic eXtension - модули расширения Visual Basic) явил собой "черный ход" для разработчиков третьих фирм по внедрению собственных объектов в среду разработки Visual Basic. Механизм, пусть и не объектно-ориентированный, но позволяет просто и довольно элегантным путем добавлять новые программные компоненты без дополнительного программирования.Механизм VВХ является специфическим интерфейсом для Visual Basic.

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

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

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

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

· возможность создания О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, накоторые есть ссылки в проекте. Выбрав нужный объект, разработчик можетлегко выбрать и передать корректный синтаксис выражения работы с объектом в текст программы или вызвать встроенную помощь для данного объекта.

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