Технология создания плагинов и программ-дополнений
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Технология создания плагинов и программ-дополнений
В данной теме просьба обсуждать только вопросы, касающиеся технических моментов в создании плагинов либо программ-дополнений к CommFort 4.хх. Все другие сообщения будут сразу же удаляться.
Последний раз редактировалось Maxim Mirgorodsky 13:52, 31.07.2008, всего редактировалось 1 раз.
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Дополнения для CommFort 4 делятся на 3 части:
1 Плагины для клиента CommFort.
2 Плагины для сервера CommFort.
3 Программы-дополнения для клиента CommFort.
Информация, необходимая для создания плагинов: http://www.commfort.com/download/commfo ... doc_ru.zip
Информация, необходимая для создания программ-дополнений: http://www.commfort.com/tmp/commfort_ad ... mation.zip
В данных архивах содержится документация, а так же примеры плагинов к клиенту и серверу выполненные в CodeGear C++ Builder 2009.
1 Плагины для клиента CommFort.
2 Плагины для сервера CommFort.
3 Программы-дополнения для клиента CommFort.
Информация, необходимая для создания плагинов: http://www.commfort.com/download/commfo ... doc_ru.zip
Информация, необходимая для создания программ-дополнений: http://www.commfort.com/tmp/commfort_ad ... mation.zip
В данных архивах содержится документация, а так же примеры плагинов к клиенту и серверу выполненные в CodeGear C++ Builder 2009.
- ~LONSDALE~
- Сообщения: 145
- Зарегистрирован: 14:38, 09.03.2008
- Контактная информация:
А к 4.02 подойдёт?Maxim Mirgorodsky писал(а): Информация о технических аспектах создания плагинов к серверу и исходный код простого плагина на C++ Builder 2006 снабженный комментариями на русском языке: http://www.commfort.com/tmp/plugins_400_information.rar

-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Никак, но можно написать синхронизатор базы пользователей комфорта с базой данных или автоматическую апрувалку акаунтов, с проверкой в базе данных. НО, так как пароль пользователя не передаёться дополнению, то сделать модуль аутентификации нельзя.maza писал(а):Обьясните, пожалуйста, как написать плагин для регистрации в чате через домен?
тоесть по сетевым никам))
Разработчики, нужна ваша помощь.
Пробую написать плагин на делфи, инициализация проходит(как-бы). В логе появляэться сообщние "подозрение на атаку (тип 224 - N/A)" и при отправке любого сообщение плагином "Error in plugin '%V1%'. Plugin is disactivated." В списке пользователей юзер плагина не появляеться
Update:
Информация про плагин терерь считываеться коректно, но сообщения серверу так и не доходят и юзера в списке нету(учётку я такую сделал).
Сервер в лог пишет "ошибка приложения: "Main recursion" "
Update 2
Проблеммы скорее всего вызванны другой структурой типов(в памяти) в Делфи, разборки продолжаються..
Собственоо в чём просьба: напишите лоадер(на с++), который бы подключал длл, и давал возможность отослать возможные команды + посмотреть что ответил плагин, то дебажить не возможно.
Пробую написать плагин на делфи, инициализация проходит(как-бы). В логе появляэться сообщние "подозрение на атаку (тип 224 - N/A)" и при отправке любого сообщение плагином "Error in plugin '%V1%'. Plugin is disactivated." В списке пользователей юзер плагина не появляеться

Update:
Информация про плагин терерь считываеться коректно, но сообщения серверу так и не доходят и юзера в списке нету(учётку я такую сделал).
Сервер в лог пишет "ошибка приложения: "Main recursion" "
Update 2
Проблеммы скорее всего вызванны другой структурой типов(в памяти) в Делфи, разборки продолжаються..
Собственоо в чём просьба: напишите лоадер(на с++), который бы подключал длл, и давал возможность отослать возможные команды + посмотреть что ответил плагин, то дебажить не возможно.
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
realmagus
Пробую написать плагин на делфи, инициализация проходит(как-бы). В логе появляэться сообщние "подозрение на атаку (тип 224 - N/A)" и при отправке любого сообщение плагином "Error in plugin '%V1%'. Plugin is disactivated." В списке пользователей юзер плагина не появляеться
Это значит что в имени пользователя используются запрещенные символы, либо первый символ относится к знакам. Попробуйте более простое имя (состоящее из латинских символов).
Собственоо в чём просьба: напишите лоадер(на с++), который бы подключал длл, и давал возможность отослать возможные команды + посмотреть что ответил плагин, то дебажить не возможно.
Непростая работа, подумаем над этим.
Пробую написать плагин на делфи, инициализация проходит(как-бы). В логе появляэться сообщние "подозрение на атаку (тип 224 - N/A)" и при отправке любого сообщение плагином "Error in plugin '%V1%'. Plugin is disactivated." В списке пользователей юзер плагина не появляеться
Это значит что в имени пользователя используются запрещенные символы, либо первый символ относится к знакам. Попробуйте более простое имя (состоящее из латинских символов).
Собственоо в чём просьба: напишите лоадер(на с++), который бы подключал длл, и давал возможность отослать возможные команды + посмотреть что ответил плагин, то дебажить не возможно.
Непростая работа, подумаем над этим.
Собственно, лоадер я уже написал сам(простенький,только на инициализацию).
Плагин допилял, теперь он возвращает значения точно так же как и плагин-пример, но в отличии от оного мой плагин заглушка не проходит инициализации(все значения и структуры возвращаются как в примере, резулт=0), то есть виртуальный юзер не появляется.
Не могли бы вы рассказать подробно, как проходит инициализация в самой программе, может можно как-то увеличить количество сообщений о плагинах в логах?
Вопросы по С (ибо его я знаю только с универа):
1) Это что? Массив, указатель на массив?
2) Зачем нам эта процедура, ведь этот каллбек мы так и не используем?
PS: Прийду домой выложу, то что написал. Но уже могу сказать что калбек функция у меня так и не заработала в делфи(собственно, подозрение на неверное описание аргументов).
Плагин допилял, теперь он возвращает значения точно так же как и плагин-пример, но в отличии от оного мой плагин заглушка не проходит инициализации(все значения и структуры возвращаются как в примере, резулт=0), то есть виртуальный юзер не появляется.
Не могли бы вы рассказать подробно, как проходит инициализация в самой программе, может можно как-то увеличить количество сообщений о плагинах в логах?
Вопросы по С (ибо его я знаю только с универа):
1) Это что? Массив, указатель на массив?
Код: Выделить всё
BYTE * bMessage
2) Зачем нам эта процедура, ведь этот каллбек мы так и не используем?
Код: Выделить всё
typedef BOOL __stdcall (*typePremoderation)(DWORD dwMessageID, BYTE * bMessage, DWORD * dwMessageLength);
PS: Прийду домой выложу, то что написал. Но уже могу сказать что калбек функция у меня так и не заработала в делфи(собственно, подозрение на неверное описание аргументов).
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
1) Это что? Массив, указатель на массив?
Указатель на массив.
2) Зачем нам эта процедура, ведь этот каллбек мы так и не используем?
Забыли убрать данное объявление функции. Сейчас убрали, исходный код обновлен (единственное изменение - удалена эта ненужная строчка).
но в отличии от оного мой плагин заглушка не проходит инициализации(все значения и структуры возвращаются как в примере, резулт=0), то есть виртуальный юзер не появляется.
PS: Прийду домой выложу, то что написал. Но уже могу сказать что калбек функция у меня так и не заработала в делфи(собственно, подозрение на неверное описание аргументов).
Выложите сам плагин, посмотрим (лучше с исходным кодом).
Указатель на массив.
2) Зачем нам эта процедура, ведь этот каллбек мы так и не используем?
Забыли убрать данное объявление функции. Сейчас убрали, исходный код обновлен (единственное изменение - удалена эта ненужная строчка).
но в отличии от оного мой плагин заглушка не проходит инициализации(все значения и структуры возвращаются как в примере, резулт=0), то есть виртуальный юзер не появляется.
PS: Прийду домой выложу, то что написал. Но уже могу сказать что калбек функция у меня так и не заработала в делфи(собственно, подозрение на неверное описание аргументов).
Выложите сам плагин, посмотрим (лучше с исходным кодом).
Может будет возможность переписать Null плагин на дельфи.Maxim Mirgorodsky писал(а):http://www.commfort.com/tmp/plugins_400_information.rar[/url]
Потому что многие пишут на этом языке.
Чем, я собственно и занимаюсь. Если это сделают разработчики, то им мега респект.ququ_ писал(а):Может будет возможность переписать Null плагин на дельфи.Maxim Mirgorodsky писал(а):http://www.commfort.com/tmp/plugins_400_information.rar[/url]
Потому что многие пишут на этом языке.
http://ifolder.ru/7883614 -- plugin
http://ifolder.ru/7883610 -- dll loader
Для всех: делфи нулл-плагин не работает, если знаете в чём дело, то поделитесь со мной. Лоадер как бы работает, но без положительного ответа разработчиков, считать его неработоспособным. (больше не актуально)
UPDATE:
1. Меня сильно проглючило.... в делфи плагине для всех функций надо юзать stdcall тогда плагин загружаеться.
2. Callback так и не запахал
UPDATE2:
1. Всё таки я не такой тупой...теперь всё работает, немного почищу код и выложу.
UPDATE3:
1. Линки обновил.
1. Код почистил, всё должно работать. Прошу администрацию проверить.
Код кривой и не красивый, ногами не копать.
http://ifolder.ru/7883610 -- dll loader
Для всех: делфи нулл-плагин не работает, если знаете в чём дело, то поделитесь со мной. Лоадер как бы работает, но без положительного ответа разработчиков, считать его неработоспособным. (больше не актуально)
UPDATE:
1. Меня сильно проглючило.... в делфи плагине для всех функций надо юзать stdcall тогда плагин загружаеться.
2. Callback так и не запахал

UPDATE2:
1. Всё таки я не такой тупой...теперь всё работает, немного почищу код и выложу.
UPDATE3:
1. Линки обновил.
1. Код почистил, всё должно работать. Прошу администрацию проверить.
Код кривой и не красивый, ногами не копать.
Вот написал небольшой пример плагинчика на делфи:
http://dump.ru/file_catalog/1025062
http://dump.ru/file_catalog/1025062
Re:
Красивоsonic писал(а):Вот написал небольшой пример плагинчика на делфи:
http://dump.ru/file_catalog/1025062

Есть 1 замечание: в интернете пишут что BOOL=LongBool, а не boolean.