|
|
|||||||||||||||||||||||||||||
|
MS Agent в DelphiИсточник: webdelphi
Все, наверное, помнят навязчивую Скрепку из MS Office? Особенно раздражало, когда эта гадость начинала объяснять какие-то прописные истины по работе с пакетом, когда этого не требовалось. Естественно в итоге "Помощник" отключался и более никогда не использовался. MS Agent. Doctor Но, несмотря на на это, подобные "живые" помощники могут помочь Вашей программе набрать дополнительную популярность среди пользователей (естественно при уместном и рациональном использовании этой замечательной технологии). Если говорить конкретно, то использование технологии MS Agent в свое время очень помогло мне сэкономить нервы и время на то, чтобы обучить неопытных пользователей использовать сложный программный комплекс. Более того, теперь абсолютно все пользователи используют "Помощника" в работе. Хотите узнать что такое MS Agent и как его использовать правильно? Тогда приступим. 1. Что такое MS Agent и где его взять?Microsoft Agent - это сервер автоматизации (OLE Automation Server), который позволяет расширить форму взаимодействия приложения или web-узла с пользователем с помощью анимированных персонажей в рамках интерфейса Microsoft Windows. Разработчики могут использовать данный компонент для расширения пользовательского интерфейса, в который входят привычные элементы управления. Следует особо отметить - MS Agent может только дополнить интерфейс программы, а не заменить его полностью. Никогда не следует слишком нагружать вашего персонажа действиями одновременно сокращая привычный интерфейс программ (кнопки, меню и т.д.) - люди в большинстве своем консервативны и мало кому понравиться, если вместо привычного окна на рабочем столе будет скакать поятоянно какой-то мутант и при этом (не дай Боже) говортиь на корявом русском. В связи с этим, хотелось бы дать несколько общих рекомендаций по использованию технологии MS Agent:
Теперь непосредственно по установке MS Agent. Первое, что необходимо - это скачать ядро MS Agent с официального сайта Microsoft. Также Вы можете скачать и файлы персонажей. После того как Вы скачаете и установите пакет MS Agent, неободимо выполнить следующие действия:
В результате Delphi сгенерирует нам unit компонента с говорящим названием AgentObjects_TLB и кучей комментариев на тему использования функций и параметров. Теперь можно смело приступать к программированию. 2. Подключаем MS Agent к приложению.Для начала определим порядок действий, которые нужно проделать для того, чтобы начать работать с одним персонажем:
Итак, для демонстрации описаных выше действий возьмем персонажа с названием "merlin" для этого ложим в каталог с нашей будущей программой файл merlin.acs , который вы можете скачать все на том же офф.сайте Microsoft. Теперь создаем наш проект в Delphi и на событие FormCreate главной формы пишем следующий код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActiveX, AgentServerObjects_TLB; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Agent : IAgentEx; Chars : IAgentCharacterEx; ICharID : integer; IReqID : integer; implementation {$R *.dfm} procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Agent.Unload(ICharID); end; procedure TForm1.FormCreate(Sender: TObject); begin CoCreateInstance(CLASS_AgentServer, nil, CLSCTX_SERVER, IID_IAgentEx, Agent); Agent.Load('merlin.acs', ICharID, IReqID); Agent.GetCharacterEx(ICharID,Chars); Chars.Show(0,IReqID); end; end. Собственно, то, что мы сейчас сделали, называется " Прямое обращение к Agent Server ". Если Вы заметили - я не просил Вас использовать какие-либо компоненты - только подключаем два модуля в разделе uses и все. После запуска проекта можно увидеть примерно следующую картинку Теперь попробуем разобраться, что мы собственно такого навояли. Прежде всего мы получили указатель на интерфейс IAgentEx, который, собственно, и позволяет нам управлять персонажем. Далее, как Вы уже догадались по названию метода (Load), мы загрузили нашего Мерлина в коллекцию. Метод Load имеет три параметра:
Ну, и в конце концов, мы показали нашего персонажа пользователю, т.е. себе любимому. После закрытия формы персонаж выгружается из памяти. Все просто и доступно. Если Вы достаточно хорошо знакомы с интерфейсами…да и с программированием на Delphi в общем, то Вы сможете без труда переделать нашу простейшую программку и использовать для связи с сервером установленный нами компонент Agent Control. Ну, а я продолжу рассмотрение этой интересной темы программирования в следующих статьях. Ссылки по теме
|
|