Архив: Технология создания плагинов

Здесь обсуждаются технические аспекты создания дополнений.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Архив: Технология создания плагинов

Сообщение Maxim Mirgorodsky »

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

Дополнения для CommFort 5 делятся на 2 части:
1. Плагины для клиента CommFort.
2. Плагины для сервера CommFort.

Информация, необходимая для создания плагинов (документация и два примера на C++ Builder): commfort_plugins_5_doc_ru.zip.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

Re: Технология создания плагинов

Сообщение -=SJ=- »

Пример для Delphi тут
Последний раз редактировалось -=SJ=- 13:37, 08.09.2010, всего редактировалось 1 раз.
joub
Сообщения: 30
Зарегистрирован: 01:30, 02.04.2010

Re: Технология создания плагинов

Сообщение joub »

Вопрос к разработчикам: распишите различия между 4-й и 5-й версией клиента, с точки зрения разработки плагинов!
за ранее спасибо.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов

Сообщение Maxim Mirgorodsky »

Отличий много, чтобы портировать старые плагины лучше посмотреть в документации как работают необходимые команды.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов

Сообщение Maxim Mirgorodsky »

cilvay писал(а):Папка \PluginData\ не создается! Чтобы работало, нужно её создать вручную
К сожалению, эта ошибка была обнаружена уже после того как финальная версия сервера CommFort 5.00 была отправлена на сборку. Таким образом, плагинам к серверу 5.00 рекомендуем при запуске проверять наличие этой папки и создавать ее при необходимости.
Cilvay
Сообщения: 816
Зарегистрирован: 14:55, 16.06.2008

Re: Технология создания плагинов

Сообщение Cilvay »

просьба сделать доступным получать плагину активный процесс, время простоя, версию программы. К примеру плагин посылает число айди, имя пользователя. Плагину поступали бы данные текущего времени простоя, строка текущего процесса и версии программы. Для безопасности этот функционал можно предоставлять только серверным плагинам
kooos
Сообщения: 9
Зарегистрирован: 00:40, 14.07.2010

Re: Технология создания плагинов

Сообщение kooos »

Может кто нибудь выложить пример работающего плагина, написанного на Делфи 7, который просто принимает сообщение и отправляет! не могу понять как отловить прием данных!
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: Технология создания плагинов

Сообщение Yaroslav »

Какую IDE брать, чтобы гарантировано подошли примеры?

CodeGear C++ Builder 2007 Enterprise Edition подойдёт?
Есть ли свободные IDE для разработки на cpp builder?
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
KGB
Сообщения: 659
Зарегистрирован: 08:54, 13.07.2010
Откуда: Чебоксары, Россия
Контактная информация:

Re: Технология создания плагинов

Сообщение KGB »

kooos писал(а):Может кто нибудь выложить пример работающего плагина, написанного на Делфи 7, который просто принимает сообщение и отправляет! не могу понять как отловить прием данных!
Выше -=SJ=- выложил пример, посмотрите его.
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Технология создания плагинов

Сообщение Maxim Mirgorodsky »

> Какую IDE брать, чтобы гарантировано подошли примеры?

Примеры из документации написаны на C++ Builder 2009. Если конвертировать на 2007, то необходимо заменить UnicodeString на WideString или работать с wchar_t*.
kooos
Сообщения: 9
Зарегистрирован: 00:40, 14.07.2010

Re: Технология создания плагинов

Сообщение kooos »

KGB писал(а):Выше -=SJ=- выложил пример, посмотрите его.
на сколько я понял это серверный плагин!
как его переделать под клиента?
и потом этот плагин некорректно работает, при его запуске на сервере, выдает сообщение об успешном запуске, причем не указывает версию программы, после чего сервер отключается полностью!
Что не так не понимаю!
ОреЛ
Сообщения: 376
Зарегистрирован: 11:18, 11.07.2008
Откуда: Ульяновск
Контактная информация:

Re: Технология создания плагинов

Сообщение ОреЛ »

1)
kooos писал(а):на сколько я понял это серверный плагин!
как его переделать под клиента?
и потом этот плагин некорректно работает, при его запуске на сервере, выдает сообщение об успешном запуске, причем не указывает версию программы, после чего сервер отключается полностью!
Что не так не понимаю!
Если вам надо, могу выложить тот же самый Repeater на Delphi под клиент

2) Такой вопрос: должны ли премодерация работать при выключенном плагине?
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
kooos
Сообщения: 9
Зарегистрирован: 00:40, 14.07.2010

Re: Технология создания плагинов

Сообщение kooos »

ОреЛ писал(а): Если вам надо, могу выложить тот же самый Repeater на Delphi под клиент
Надо! Очень надо))
Зараннее благодарю!
ОреЛ
Сообщения: 376
Зарегистрирован: 11:18, 11.07.2008
Откуда: Ульяновск
Контактная информация:

Re: Технология создания плагинов

Сообщение ОреЛ »

kooos писал(а):Надо! Очень надо))
Зараннее благодарю!
Тот же самый Repeater, так же отвечает личным сообщением, только подходит только для клиента.
Вложения
Plugin_repeater_for_client.rar
(2.8 КБ) 928 скачиваний
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
kooos
Сообщения: 9
Зарегистрирован: 00:40, 14.07.2010

Re: Технология создания плагинов

Сообщение kooos »

procedure PluginShowOptions();
begin
form1.Show;
ShowMessage('Options dialog');
end;

добавил к пректу форму и попытался отобразить ее при нажатии на кнопку опции, но вот чего выдает в канале события!

[05.09.2010 22:36:38] Application error: "Access violation at address 042A8DCA in module 'repeater.dll.cfplug'. Read of address 000002F4"

я что то не так делаю??
помоему с UPD-приложениями было куда проще, чем с плагинами! полный контроль действий, а тут...
Закрыто