Страница 1 из 42
Технология создания плагинов и программ-дополнений
Добавлено: 13:40, 31.07.2008
Maxim Mirgorodsky
В данной теме просьба обсуждать только вопросы, касающиеся технических моментов в создании плагинов либо программ-дополнений к CommFort 4.хх. Все другие сообщения будут сразу же удаляться.
Добавлено: 13:50, 31.07.2008
Maxim Mirgorodsky
Дополнения для 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.
Добавлено: 06:11, 20.08.2008
~LONSDALE~
А к 4.02 подойдёт?
Добавлено: 06:57, 20.08.2008
Maxim Mirgorodsky
Да.
Добавлено: 00:11, 22.08.2008
maza
Обьясните, пожалуйста, как написать плагин для регистрации в чате через домен?
тоесть по сетевым никам))
Добавлено: 16:47, 22.08.2008
realmagus
maza писал(а):Обьясните, пожалуйста, как написать плагин для регистрации в чате через домен?
тоесть по сетевым никам))
Никак, но можно написать синхронизатор базы пользователей комфорта с базой данных или автоматическую апрувалку акаунтов, с проверкой в базе данных. НО, так как пароль пользователя не передаёться дополнению, то сделать модуль аутентификации нельзя.
Добавлено: 19:20, 23.08.2008
realmagus
Разработчики, нужна ваша помощь.
Пробую написать плагин на делфи, инициализация проходит(как-бы). В логе появляэться сообщние "подозрение на атаку (тип 224 - N/A)" и при отправке любого сообщение плагином "Error in plugin '%V1%'. Plugin is disactivated." В списке пользователей юзер плагина не появляеться
Update:
Информация про плагин терерь считываеться коректно, но сообщения серверу так и не доходят и юзера в списке нету(учётку я такую сделал).
Сервер в лог пишет "ошибка приложения: "Main recursion" "
Update 2
Проблеммы скорее всего вызванны другой структурой типов(в памяти) в Делфи, разборки продолжаються..
Собственоо в чём просьба: напишите лоадер(на с++), который бы подключал длл, и давал возможность отослать возможные команды + посмотреть что ответил плагин, то дебажить не возможно.
Добавлено: 11:34, 27.08.2008
Maxim Mirgorodsky
realmagus
Пробую написать плагин на делфи, инициализация проходит(как-бы). В логе появляэться сообщние "подозрение на атаку (тип 224 - N/A)" и при отправке любого сообщение плагином "Error in plugin '%V1%'. Plugin is disactivated." В списке пользователей юзер плагина не появляеться
Это значит что в имени пользователя используются запрещенные символы, либо первый символ относится к знакам. Попробуйте более простое имя (состоящее из латинских символов).
Собственоо в чём просьба: напишите лоадер(на с++), который бы подключал длл, и давал возможность отослать возможные команды + посмотреть что ответил плагин, то дебажить не возможно.
Непростая работа, подумаем над этим.
Добавлено: 12:43, 27.08.2008
realmagus
Собственно, лоадер я уже написал сам(простенький,только на инициализацию).
Плагин допилял, теперь он возвращает значения точно так же как и плагин-пример, но в отличии от оного мой плагин заглушка не проходит инициализации(все значения и структуры возвращаются как в примере, резулт=0), то есть виртуальный юзер не появляется.
Не могли бы вы рассказать подробно, как проходит инициализация в самой программе, может можно как-то увеличить количество сообщений о плагинах в логах?
Вопросы по С (ибо его я знаю только с универа):
1) Это что? Массив, указатель на массив?
2) Зачем нам эта процедура, ведь этот каллбек мы так и не используем?
Код: Выделить всё
typedef BOOL __stdcall (*typePremoderation)(DWORD dwMessageID, BYTE * bMessage, DWORD * dwMessageLength);
PS: Прийду домой выложу, то что написал. Но уже могу сказать что калбек функция у меня так и не заработала в делфи(собственно, подозрение на неверное описание аргументов).
Добавлено: 13:24, 27.08.2008
Maxim Mirgorodsky
1) Это что? Массив, указатель на массив?
Указатель на массив.
2) Зачем нам эта процедура, ведь этот каллбек мы так и не используем?
Забыли убрать данное объявление функции. Сейчас убрали, исходный код обновлен (единственное изменение - удалена эта ненужная строчка).
но в отличии от оного мой плагин заглушка не проходит инициализации(все значения и структуры возвращаются как в примере, резулт=0), то есть виртуальный юзер не появляется.
PS: Прийду домой выложу, то что написал. Но уже могу сказать что калбек функция у меня так и не заработала в делфи(собственно, подозрение на неверное описание аргументов).
Выложите сам плагин, посмотрим (лучше с исходным кодом).
Добавлено: 13:30, 27.08.2008
ququ_
Может будет возможность переписать Null плагин на дельфи.
Потому что многие пишут на этом языке.
Добавлено: 14:05, 27.08.2008
realmagus
ququ_ писал(а):
Может будет возможность переписать Null плагин на дельфи.
Потому что многие пишут на этом языке.
Чем, я собственно и занимаюсь. Если это сделают разработчики, то им мега респект.
Добавлено: 23:24, 27.08.2008
realmagus
http://ifolder.ru/7883614 -- plugin
http://ifolder.ru/7883610 -- dll loader
Для всех: делфи нулл-плагин не работает, если знаете в чём дело, то поделитесь со мной. Лоадер как бы работает, но без положительного ответа разработчиков, считать его неработоспособным. (больше не актуально)
UPDATE:
1. Меня сильно проглючило.... в делфи плагине для всех функций надо юзать stdcall тогда плагин загружаеться.
2. Callback так и не запахал
UPDATE2:
1. Всё таки я не такой тупой...теперь всё работает, немного почищу код и выложу.
UPDATE3:
1. Линки обновил.
1. Код почистил, всё должно работать. Прошу администрацию проверить.
Код кривой и не красивый, ногами не копать.
Добавлено: 04:24, 28.08.2008
sonic
Вот написал небольшой пример плагинчика на делфи:
http://dump.ru/file_catalog/1025062
Re:
Добавлено: 13:43, 28.08.2008
realmagus
Красиво
Есть 1 замечание: в интернете пишут что BOOL=LongBool, а не boolean.