Технология создания плагинов и программ-дополнений

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
BAR
Сообщения: 45
Зарегистрирован: 17:49, 10.02.2009

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

Сообщение BAR »

NexxGen писал(а):Quick View, Resource Hacker, Restorator, PE Explorer
NexxGen русских программ нет?
aleks694
Сообщения: 470
Зарегистрирован: 14:04, 24.08.2008

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

Сообщение aleks694 »

BAR писал(а):NexxGen русских программ нет?
для этих программ есть и русификаторы, просто поискать надо
Метод тыка - самы надежный метод в мире.
BAR
Сообщения: 45
Зарегистрирован: 17:49, 10.02.2009

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

Сообщение BAR »

aleks694 писал(а):для этих программ есть и русификаторы, просто поискать надо
Я знаю я бы нашол мне нужно только названи проги чтобы были русские или русификаторы я бы нашол
molotok
Сообщения: 5
Зарегистрирован: 04:41, 14.08.2009

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

Сообщение molotok »

Читал всю тему "от" и "до".. и сразу попробывал скомпилировать\переделать Null-плагин под MSVC 6.0..
Плагин не инициализируется.. а "Настройка" и "О программе" работают..
- Декорирование имен функций проверял и после компиляции программой DEPENDS - отключено
- stdcall как доктор прописал
- Сама функция PluginInit вызывается, о чём говорят MessageBox'ы в начале и конце выполнения тела функции

Запускал плагин и под отладчиком с рабочим CommFort'ом.. Там жму "Запустить" плагин, а тут вылазит бряк на функции PluginInit.. Трейсом её прохожу.. заполнение структуры проверяю.. return 0.. и CommFort всё равно дальше егоне загружает...
molotok
Сообщения: 5
Зарегистрирован: 04:41, 14.08.2009

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

Сообщение molotok »

Вышел странный глюк.. как я уже только не извращался с определениями.. и вроде всё было корректно..
но ничего не работало.. а как в Null-примере, так в MSVC 6.0 компилироваться не хотело.. там было недопустимо в typedef после stdcall имя функции писать в скобочках.. без них на звёздочку тоже ругалась...
весь вечер и утро мучился..

Решилось тем, что просто убрал везде stdcall.. и поискал каким флагом его включить при компиляции для всех функций по умолчанию..

/Gz - использовать для всех функций stdcall

Теперь плагин запускается
Аватара пользователя
supermet
Сообщения: 245
Зарегистрирован: 02:35, 19.07.2009

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

Сообщение supermet »

У меня была аналогичная ситуация пока я не исправил строки

Код: Выделить всё

typedef BYTE __stdcall (*typeClCommFortProcess)(DWORD dwPluginID, DWORD dwMessageID, BYTE * bMessage, DWORD dwMessageLength);
typedef DWORD __stdcall (*typeClGetData)(DWORD dwDataID, BYTE * bBuffer, DWORD dwBufferSize);
на

Код: Выделить всё

typedef  BYTE  (__stdcall *typeClCommFortProcess)(DWORD dwPluginID, DWORD dwMessageID, BYTE * bMessage, DWORD dwMessageLength);
typedef  DWORD  (__stdcall *typeClGetData)(DWORD dwDataID, BYTE * bBuffer, DWORD dwBufferSize);
molotok
Сообщения: 5
Зарегистрирован: 04:41, 14.08.2009

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

Сообщение molotok »

supermet> :))) да, так я не попробывал))) нужно было stdcall внести внутрь))

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

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

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

Запуск производится в одном потоке. Двух одновременно работающих функций быть не может. Глобальные переменные допустимы. Но просьба внимательно следить за выделением и освобождением необходимых ресурсов в функциях инициализации и терминирования для обеспечения возможности запуска/останова плагина во время работы сервера и для оптимального расходования ресурсов.
Sckatik
Сообщения: 47
Зарегистрирован: 20:57, 21.10.2008

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

Сообщение Sckatik »

Всю тему облазил но что то не нашел, null для создания программы дополнения..
Аватара пользователя
supermet
Сообщения: 245
Зарегистрирован: 02:35, 19.07.2009

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

Сообщение supermet »

Всю тему облазил но что то не нашел, null для создания программы дополнения..
Вот он - http://www.commfort.com/tmp/commfort_ad ... mation.zip
SunnySan
Сообщения: 357
Зарегистрирован: 22:34, 24.05.2008
Контактная информация:

Re:

Сообщение SunnySan »

Maxim Mirgorodsky писал(а):В данном архиве содержится документанция по созданию плагинов и программ-дополнений, а так же примеры плагинов к клиенту и серверу выполненные в CodeGear C++ Builder 2009.
Ссылка
Зло - это невежество
Sckatik
Сообщения: 47
Зарегистрирован: 20:57, 21.10.2008

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

Сообщение Sckatik »

Но это примеры плагинов а мне нужно примеры ботов и описание функций
Аватара пользователя
dv
Сообщения: 1845
Зарегистрирован: 10:28, 11.05.2007
Откуда: Краснодар

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

Сообщение dv »

[Cообщeние yдалено]
Последний раз редактировалось dv 21:08, 25.06.2012, всего редактировалось 1 раз.
Дополнения для CommFort
Адрес чата: chat.telered.ru




.
molotok
Сообщения: 5
Зарегистрирован: 04:41, 14.08.2009

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

Сообщение molotok »

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

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

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

Очередь после терминирования проверим. А вызовы делать при остановке плагина действительно нельзя. В будущем возможно реализуем.
Закрыто