Использование открытых интерфейсов среды программирования Delphi - реферат

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

Данная статья посвящена открытым интерфейсам Delphi и представляет собой обзор представляемых ими способностей. В Delphi определены 6 открытых интерфейсов: Tool Interface, Design Interface, Expert Interface, File Interface Использование открытых интерфейсов среды программирования Delphi - реферат, Edit Interface и Version Control Interface. Навряд ли в рамках данной статьи нам удалось бы детально осветить и проиллюстрировать способности каждого из их. Более основательно разобраться в рассматриваемых вопросах вам посодействуют начальные тексты Delphi, благо разработчики снабдили их развернутыми комментами. Объявления классов, представляющих открытые интерфейсы, содержатся в соответственных модулях Использование открытых интерфейсов среды программирования Delphi - реферат в каталоге ...\Delphi\Source\ToolsAPI. Design Interface (модуль DsgnIntf.pas) предоставляет средства для сотворения редакторов параметров и редакторов компонент.

Редакторы параметров и компонент – это тема, достойная отдельного разговора, потому напомним только, что редактор характеристики держит под контролем поведение Инспектора Объектов при попытке поменять значение соответственного характеристики Использование открытых интерфейсов среды программирования Delphi - реферат, а редактор компонента активируется при двойном нажатии левой кнопки мыши на изображении помещенного на форму компонента. Version Control Interface (модуль VCSIntf.pas) предназначен для сотворения систем контроля версий. Начиная с версии 2.0, Delphi поддерживает интегрированную систему контроля версий Intersolv PVCS, потому почти всегда в разработке своей системы нет необходимости. По Использование открытых интерфейсов среды программирования Delphi - реферат этой причине рассмотрение Version Control Interface мы также опустим. File Interface (модуль FileIntf.pas) позволяет переопределить рабочую файловую систему IDE, что дает возможность выбора собственного метода хранения файлов (в Memo-полях на сервере БД, к примеру). Edit Interface (модуль EditIntf.pas) предоставляет доступ к буферу начальных текстов, что позволяет проводить анализ Использование открытых интерфейсов среды программирования Delphi - реферат кода и делать его генерацию, определять и изменять позицию курсора в окне редактора кода, также управлять синтаксическим выделением начального текста.

Особые классы предоставляют интерфейсы к помещенным на форму компонентам (определение типа компонента, получение ссылок на родительский и дочерние составляющие, доступ к свойствам, передача фокуса, удаление и т.д Использование открытых интерфейсов среды программирования Delphi - реферат.), к самой форме и к ресурсному файлу проекта. Также Edit Interface позволяет идентифицировать так именуемые модульные нотификаторы, определяющие реакцию на такие действия, как изменение начального текста модуля, модификация формы, переименование компонента, сохранение, переименование либо удаление модуля, изменение ресурсного файла проекта и т. д. Tool Interface (модуль ToolIntf.pas) предоставляет разработчикам средства Использование открытых интерфейсов среды программирования Delphi - реферат для получения общей инфы о состоянии IDE и выполнения таких действий, как открытие, сохранение и закрытие проектов и отдельных файлов, создание модуля, получение инфы о текущем проекте (число модулей и форм, их имена и т. д.), регистрация файловой системы, организация интерфейсов к отдельным модулям и т Использование открытых интерфейсов среды программирования Delphi - реферат.д. В дополнение к модульным нотификаторам Tool Interface определяет add-in нотификаторы, уведомляющие о таких событиях, как открытие/закрытие файлов и проектов, загрузка и сохранение desktop-файла проекта, добавление/исключение модулей проекта, установка/деинсталляция пакетов, компиляция проекта, при этом в отличие от модульных нотификаторов add-in нотификаторы позволяют отменить выполнение неких событий Использование открытых интерфейсов среды программирования Delphi - реферат.

Не считая того, Tool Interface предоставляет средства доступа к главному меню IDE Delphi, позволяя встраивать в него дополнительные пункты. Expert Interface (модуль ExptIntf.pas) представляет собой базу для сотворения профессионалов — программных модулей, встраиваемых в IDE c целью расширения ее функциональности. В качестве примера профессионала можно привести входящий в Delphi Использование открытых интерфейсов среды программирования Delphi - реферат Database Form Wizard, выполняющий генерацию формы для просмотра и конфигурации содержимого таблицы БД. Определив класс профессионала, нужно позаботиться о том, чтоб Delphi “выяснила” о нашем профессионале. Для этого его необходимо зарегистрировать средством вызова процедуры RegisterLibraryExpert, передав ей в качестве параметра экземпляр класса профессионала. В качестве иллюстрации сделаем обычный Использование открытых интерфейсов среды программирования Delphi - реферат эксперт в стиле esStandard, который при выборе соответственного ему пт меню Delphi выводит сообщение о том, что он запущен. Как видно из вышеприведенной таблицы, стиль esStandard обязует перекрыть 6 способов:

Для того чтоб эксперт был “приведен в действие”, нужно избрать пункт меню Component/Install Component ... , избрать в диалоге Использование открытых интерфейсов среды программирования Delphi - реферат Browse модуль, содержащий эксперт (в нашем случае exmpl_01.pas), надавить ОК, и после компиляции пакета dclusr30.dpk в основном меню Delphi в разделе Help должен показаться пункт Simple Expert 1, при выборе которого возникает информационное сообщение “Standard Expert started!”. Почему Delphi помещает пункт меню профессионала в раздел Help, остается загадкой. Если Использование открытых интерфейсов среды программирования Delphi - реферат вам не нравится то, что пункт меню возникает там, где угодно Delphi, а не там, где желаете вы, вероятен последующий вариант: сделать эксперт в стиле add-in, что исключает автоматическое создание пт меню, а пункт меню добавить “вручную”, используя средства Tool Interface. Это позволит задать положение нового пт в Использование открытых интерфейсов среды программирования Delphi - реферат основном меню произвольным образом.

Для прибавления пт меню употребляется класс TIToolServices — база Tool Interface — и классы TIMainMenuIntf, TIMenuItemIntf, реализующие интерфейсы к главному меню IDE и его пт. Экземпляр ToolServices класса TIToolServices создается самой IDE при ее инициализации. Направьте внимание на то, что ответственность за освобождение интерфейсов к главному Использование открытых интерфейсов среды программирования Delphi - реферат меню Delphi и его пт полностью ложится на разработчика. Попутно малость усложним многофункциональную нагрузку профессионала: при активизации собственного пт меню он будет выдавать справку об имени проекта, открытого на этот момент в среде: В этом примере центральное место занимает функция AddIDEMenuItem, осуществляющая добавление пт меню в главное меню IDE Delphi. В качестве Использование открытых интерфейсов среды программирования Delphi - реферат характеристик ей передаются текст нового пт меню, его идентификатор, идентификатор пт, перед которым вставляется новый пункт, символьное представление кнопки, которая совместно с кнопкой Ctrl может употребляться для резвого доступа к новенькому пт, и обработчик действия, соответственного выбору нового пт. Мы добавили новый пункт меню в раздел View перед пт Использование открытых интерфейсов среды программирования Delphi - реферат Watches.

Сейчас познакомимся с нотификаторами. Определим add-in нотификатор, отслеживающий моменты закрытия/открытия проектов и корректирующий подходящим образом поле, хранящее имя активного проекта (реализацию способов, не претерпевших конфигураций по сопоставлению с тпредыдущим примером, ради сокращенности опустим): Для реализации нотификатора мы обусловили класс TAddInNotifier, являющийся потомком TIAddInNotifier, и перекрыли Использование открытых интерфейсов среды программирования Delphi - реферат способ FileNotification. IDE будет вызывать этот способ всякий раз, когда происходит событие, на которое способен среагировать add-in нотификатор (каждое такое событие обозначается соответственной константой типа TFileNotification). Поле Expert в классе TAddInNotifier служит для оборотной связи с профессионалом (способ TAddInNotifier.FileNotification). В деструкторе профессионала регистрация нотификатора снимается, и нотификатор Использование открытых интерфейсов среды программирования Delphi - реферат уничтожается. А сейчас проиллюстрируем внедрение модульных нотификаторов. Сделаем add-in эксперт, выдающий сообщения о каждом акте сохранения проектного файла (реализацию уже знакомых нам способов ради сокращенности не приводим): В данном примере add-in эксперт выслеживает действия, надлежащие открытию/закрытию проектов.

При каждом открытии проекта регится модульный нотификатор, соответственный Использование открытых интерфейсов среды программирования Delphi - реферат файлу проекта. В плане реализации модульные нотификаторы идентичны с add-in нотификаторами: мы определяем класс TModuleNotifier, являющийся потомком TIModuleNotifier и перекрываем его способы Notify и ComponentRenamed. IDE вызывает способ Notify при появлении определенных событий, имеющих отношение к данному модулю; снутри этого способа и определяется реакция на то либо другое событие. Способ Использование открытых интерфейсов среды программирования Delphi - реферат ComponentRenamed вызывается при изменении имени компонента, лежащего на форме модуля. Направьте внимание на то, что мы не используем этот способ, но должны его перекрыть, по другому при изменении имени компонента будет происходить вызов абстрактного способа базисного класса, что приводит к непредсказуемым последствиям.

Регистрация модульного нотификатора является несколько более сложным Использование открытых интерфейсов среды программирования Delphi - реферат процессом по сопоставлению с регистрацией add-in нотификатора: поначалу мы получаем интерфейс модуля (TIModuleInterface), а потом при помощи интерфейса модуля регистрируем нотификатор. При закрытии проекта регистрация модульного нотификатора снимается (опять с внедрением TIModuleInterface), и нотификатор уничтожается. В заключение покажем, как можно определять позицию курсора в окне редактора кода Использование открытых интерфейсов среды программирования Delphi - реферат. Сделаем эксперт, который при выборе соответственного пт меню выдавал бы сообщение, содержащее имя активного файла и позицию курсора в нем (приведена реализация только существенных для данного примера способов): Для определения позиции курсора мы должны получить последующую последовательность интерфейсов: модульный интерфейс (TIModuleInterface); интерфейс редактора кода (TIEditorInterface); интерфейс представления модуля в Использование открытых интерфейсов среды программирования Delphi - реферат окне редактора (TIEditView).

Если при выборе пт меню профессионала активным является файл с начальным текстом (*.pas), то выдается сообщение, содержащее имя активного файла и текущую позицию курсора в нем. Если активным является не pas-файл, то сообщение не выдается. Для получения имени активного файла употребляется способ GetCurrentFile класса Использование открытых интерфейсов среды программирования Delphi - реферат TIToolServices. На этом завершим рассмотрение методов использования открытых интерфейсов. CD-ROM содержит начальные тексты всех приведенных примеров. На CD-ROM также содержится более непростой и развернутый пример, содержащий add-in эксперт, позволяющий юзеру делать закладки в начальном тексте Delphi-модулей. Короткое управление по установке и использованию Профессионала Закладок содержится в Использование открытых интерфейсов среды программирования Delphi - реферат файле bkmrks97.htm. Итак, в данной статье в общих чертах рассмотрены открытые интерфейсы и приведены примеры их использования. Снова повторим: благодаря наличию начальных текстов открытых интерфейсов вы без усилий можете разобраться в интересующих вас деталях. Возлагаем надежды, что обилие способностей, предоставляемых открытыми интерфейсами, породит у вас не Использование открытых интерфейсов среды программирования Delphi - реферат одну смелую и полезную идею.



ispolzovanie-menedzherom-svoego-personala-v-processe-marketinga-i-prodazh-referat.html
ispolzovanie-metaprogramm-dlya-raspoznavaniya-patternov.html
ispolzovanie-metoda-sravnitelno-tipologicheskogo-analiza-proizvedeniya-v-literaturnom-kontekste-pri-izuchenii-literaturi-v-shkole.html