ПредишенСледващото

Създаване на плъг-ин за чат Delphi commfort, блог Delphi програмист-
Добър ден, скъпи читатели на блога. В тази статия бих искал да поговорим малко за това, как можете да създадете плъгини, като например най-известните чат Commfort. Приставката аз го разработена за собствените си цели. На работа, ние сме инсталирали сървъра на чата, и аз написах една малка приставка за нашия канал, който е под формата на викторина. Това означава, че след определен период от време (определен в настройките на плъгина) в канал (дефинирани) показва съобщение (въпрос) на определени теми и потребители започват да пишат отговори с правилния отговор получава точки, а след това можете да видите кой е начело в теста, и така нататък. Можете да изтеглите нови въпроси и отговори, и др.

По принцип обичам да пиша плъгини за различни приложения. По някакъв начин съм счита статия за това как да се напише плъгин за всяко такова искане за изтегляне Учителя. Фактът, че разработчиците на изтегляне магистър осигурява доста обширна документация за писане на плъгини за тяхното прилагане, както и примери на много е в Делфи. да не говорим за най-различни шаблони, но с приставка за Commfort сравнително малко информация, а само общи и примери в C ++. Разбира на примери могат лесно да се превърнат в проба, на същата Delphi. това, което в общи линии е направил. Аз бях просто интересно да видя тази тема. налице е и интересното е, че можете да напишете плъгини както за страната на клиента и от страна на сървъра Commfort на.

Когато създавате плъгини за Commfort има някои нюанси. Ако забележите, когато инсталирате този разговор в директорията с програмата не една папка с име искал да се определи къде искате да инсталирате плъгини. Разширяването на приставката не * .dll файл. както обикновено, а в повечето случаи това е и малко повече, което ще обсъдим по-късно. Но, разбира се приставките данни са динамични библиотеки връзка.

Нека да разгледаме някои от принципите за създаване на приставки в Делфи за Commfort.

  1. Разширяването на нашата приставка трябва да бъде «cfcplug», като според него на резултата трябва да бъде, както следва: mynameplugin.cfcplug или mynameplugin.dll.cfcplug
  2. Задължително е да използвате _stdcall споразумение. за сменяеми функции.
  3. Plugins трябва да са в папката Plugins. който трябва да бъде в основата на папката, където инсталиран чат Commfort. По подразбиране тази папка не е създаден, така че трябва да бъдат създадени ръчно (Plugins папка) и го сложи в необходимите приставки и рестартирайте Commfort приставката ви трябва да реши, без никакви проблеми.

Ако пишете функции, които са свързани с приложението на сървъра, трябва да настроите съответните разрешения за тази сметка.

Е, нека да започнем да създаде най-плъгина и разгледа основните функции за създаване на плъгини.

Основните характеристики, които се използват за създаване на плъгини за Commfort:

  • PluginInit - тази функция се нарича, когато плъгин е да се осигури най-доброто разпределение памет за обекти, променливи, освен ако имате нужда от него.
  • PluginTerminate - тази функция се нарича, когато спря щепсел, че е необходимо да се освободи паметта, съответно, ако по време на инициализация на своята изолация.
  • PluginProcces - тази функция се нарича с различни събития: изпращане на съобщения, получаване на съобщения, на изхода на канала, както и много други.
  • PluginShowOptions - тази функция се нарича, когато бутонът е натиснат върху "Опции за приставката" в настройките на Commfort.
  • PluginShowAbout - тази функция се нарича, когато се натисне бутонът "За плъгин"
  • CommFortGetData - тази функция е предназначена за предоставяне на информация за програмата: версията на съобщението, кой канал е активна в момента, и така нататък.
  • CommFortProcess - тази функция е предназначена за откриване на някои от събитията: изпращане на съобщение, например.

Е, това е всичко, като с основните функции, разбрахме, нека създадем един много прост плъгин, а в следващата част на нашата статия, ние ще разгледаме по-сериозно плъгин.

Да отворим на IDE Delphi (I Delphi7) и изпълнява командата File-New-Other ... и в прозореца, който се появява, изберете раздела New DLL Wizard, и след това щракнете върху OK. След употреба, нека определи: - тя е за нашата библиотека (плъгин) компилиран директно с желания разширение. Въпреки, че не е необходимо да се направи, разширението може да се промени по всяко време. Нека наричаме нашата библиотека и спаси това, например MyPlugin.

Сега нека да се създаде звено и да поиска името му, като константа. където са изброени всички наши сменяеми константи. Той ще свързва устройството Windows и ние трябва да обяви структура (запис). Този запис ще съдържа информация за нашата плъгин. Това е, което всички ние правим в този Constant.pas модул. Този пост ме гледа, както следва:

  • TCommFortProcess = функция (dwPluginID DWORD ;. DwMessageID DWORD ;. BMessage PCHAR ;. DwMessageLength DWORD.). BYTE; stdcall;
  • TCommFortGetData = функция (dwDataID DWORD; bBuffer PCHAR; dwBufferSize DWORD ...): DWORD; stdcall;

След това се изнася своите функции изнася PluginInit. PluginProcess; и в последния момент, ние декларираме константи:

Всичко е ясно, според мен, да обяви името на приставката ни, неговото описание и, разбира се, версията на клиента или IM сървъра, който прави нашия плъгин. Всичко на този модул да бъде разрешен и тя най-вероятно ще трябва да се върне, няма, следователно, и в близост спаси. Сега създайте друга единица (Unit), където веднага ще провеждаме нашата приставка функция. Запазих този модул под името Main.pas.

В този модул употребите съм приложени следните модули:

Както можете да видите тук там е нашата постоянна единица - постоянна. Освен това, в този модул, ние заявяваме, функциите за инициализиране на приставката (PluginInit) и функция, която се появява, когато определени събития, които се случват в чата (изпращане на съобщения, достъп до техния канал, получаване на съобщения и т.н.) - PluginProcces функцията. Аз е както следва:

Подкрепете проекта - споделете линка, благодаря!