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

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
Аватара пользователя
-=SJ=-
Сообщения: 246
Зарегистрирован: 02:21, 06.04.2007

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

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

VIRUS писал(а):Не пойму в чем прокол. Пишу одного бота. Использую среду CodeGear 2007. Сообщения из чата принимаются. Но почему они не отправляются? Вот в чем проблема.
Инди компонеты не подходят для работы с коммфортом по UDP протоколу потому, что TIdUDPClient и TIdUDPServer для своей работы открывают два разных порта, а клиент коммфорта требует чтобы у получателя и отправителя был один и тот же порт.
Аватара пользователя
HukpoFuJl
Сообщения: 90
Зарегистрирован: 15:29, 17.10.2008
Откуда: Белaрусь, Гомель
Контактная информация:

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

Сообщение HukpoFuJl »

Хотелось бы узнать, есть ли возможность писать именно ПЛАГИНЫ на скриптовом языке AutoIT ? Как я понимаю *.cfplug - это переименованный *.dll.
Я где-то вроде читал, что на AutoIT есть возможность писать не только ехе, но ещё и dll, вроде модуль называется AutoITX.
Может кто сталкивался?
              Последний раз редактировалось HukpoFuJl 11:22, 29.08.2010, всего редактировалось 1 раз.
              Maxim Mirgorodsky
              Администратор
              Сообщения: 6877
              Зарегистрирован: 09:56, 27.06.2005

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

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

              Начиная с версии 4.40 beta 3 путь к папке для хранения своих файлов плагинам можно получить с помощью функции CommFortGetData с идентификатором 15.

              P. S. Об обещании модернизировать информацию по взаимодействию программ с плагинами к 4.40 мы помним, но данная работа будет проведена уже после выпуска 4.40.
              Аватара пользователя
              DIGGER
              Сообщения: 264
              Зарегистрирован: 13:46, 15.05.2009

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

              Сообщение DIGGER »

              >> …CommFortGetData с идентификатором 15…
              Получим строку в Unicode или ANSI ? Потому что мне крайне желателен юникод. Да и вообще юникод более "корректен" с буковками в пути :)
              Аватара пользователя
              -=SJ=-
              Сообщения: 246
              Зарегистрирован: 02:21, 06.04.2007

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

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

              Maxim Mirgorodsky писал(а):Начиная с версии 4.40 beta 3 путь к папке для хранения своих файлов плагинам можно получить с помощью функции CommFortGetData с идентификатором 15.
              После старта чата и до первого запуска плагина путь не возвращается, это критично так, как вызвать настройки плагина можно и без запуска.
              Аватара пользователя
              DIGGER
              Сообщения: 264
              Зарегистрирован: 13:46, 15.05.2009

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

              Сообщение DIGGER »

              -=SJ=-, если плагин на "СТОПЕ", то он не должен чего-нить делать, так как если в этом коде будет допущена ошибка… то тот кто обнаружит что чат который остановлен и приводит к чему-то нехорошему — будет очень зол на такого аФтора)))
              Последний раз редактировалось DIGGER 16:09, 26.11.2009, всего редактировалось 1 раз.
              Аватара пользователя
              -=SJ=-
              Сообщения: 246
              Зарегистрирован: 02:21, 06.04.2007

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

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

              DIGGER писал(а):-=SJ=-, если чат на "СТОПЕ"
              что значит чат на стопе? или подразумевается плагин?
              так вот если плагин не запущен он все равно получает события при нажатии кнопок "Настроить" и "О плагине", и он как то должен реагировать на эти события.
              Аватара пользователя
              DIGGER
              Сообщения: 264
              Зарегистрирован: 13:46, 15.05.2009

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

              Сообщение DIGGER »

              • исправил чат —> плагин
              • В общем логично :) до вызова PluginInit сообщения не получится отправить чату :)
              Как вариант можно не открывать диалог настройки при выключенном плагине… Показывать мессаг: мол сначала плугин запустите, а потом в настройки… :)
              Maxim Mirgorodsky
              Администратор
              Сообщения: 6877
              Зарегистрирован: 09:56, 27.06.2005

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

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

              DIGGER писал(а):>> …CommFortGetData с идентификатором 15…
              Получим строку в Unicode или ANSI ? Потому что мне крайне желателен юникод. Да и вообще юникод более "корректен" с буковками в пути :)
              Ansi. Юникод (вместе с несовместимостью плагинов) будет в 5.00.
              Maxim Mirgorodsky
              Администратор
              Сообщения: 6877
              Зарегистрирован: 09:56, 27.06.2005

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

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

              -=SJ=- писал(а):
              DIGGER писал(а):-=SJ=-, если чат на "СТОПЕ"
              что значит чат на стопе? или подразумевается плагин?
              так вот если плагин не запущен он все равно получает события при нажатии кнопок "Настроить" и "О плагине", и он как то должен реагировать на эти события.
              В момент вызова диалогов "о плагине" и "настройка" можно и производить загрузку своих файлов (для этого нужно установить глобальную переменную загружены ли файлы или нет).

              Правильно было указано - в остановленном состоянии плагин не должен ничего делать.
              Аватара пользователя
              DIGGER
              Сообщения: 264
              Зарегистрирован: 13:46, 15.05.2009

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

              Сообщение DIGGER »

              Возможно тема подымалась, но поиском не нашёл…
              В примере плагина для клиента чата есть строки:

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

              	strcpy((*plInfo).strPluginName,"Null");
              	strcpy((*plInfo).strPluginDescription,"Test plugin for CommFort client 4.30");
              	strcpy((*plInfo).strPluginVersion,"4.30");
              	//Заполняем структуру информации о плагине
              	//Обязательно необходимо указать версию CommFort client для которой
              	//предназначен плагин
              +
              1) Убедитесь, что Вы верно заполняете структуру информации о плагине, в особенности строку strPluginVersion (версия программы, для которой предназначен плагин).
              Даже когда пишу в strPluginVersion строку "4.50" плагин работает как и раньше. Чат не показывает никаких ошибок. Так и нужно или я где-то ошибся?

              Как чатом используются строки strPluginName, strPluginDescription, strPluginVersion ?

              В чате версии 4.30 нет функции CommFortGetData с идентификатором 15, как сделать что бы плагин не запускался в этой версии чата? Или это нужно делать силами плагина?
              Аватара пользователя
              DIGGER
              Сообщения: 264
              Зарегистрирован: 13:46, 15.05.2009

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

              Сообщение DIGGER »

              Maxim Mirgorodsky, как узнать текущий язык в чате? (RU, EN, UA)
              Maxim Mirgorodsky
              Администратор
              Сообщения: 6877
              Зарегистрирован: 09:56, 27.06.2005

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

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

              DIGGER писал(а):Даже когда пишу в strPluginVersion строку "4.50" плагин работает как и раньше. Чат не показывает никаких ошибок. Так и нужно или я где-то ошибся?
              Это правильно. Протокол работы плагинов может изменяться от версии к версии. Например, в 4.40 исправлена ошибка с передачей темы плагину (сообщение с ID=90). И это изменение будет только в случае если номер версии указать "4.40" или старше. Если более ранняя версия - то тема будет передаваться плагину как раньше.
              DIGGER писал(а):Maxim Mirgorodsky, как узнать текущий язык в чате? (RU, EN, UA)
              В текущей версии никак. В следующей вполне возможно реализовать. А вообще наверное более корректно определять язык системы, ведь список языковых файлов CommFort и переводов плагина может различаться.
              Аватара пользователя
              DIGGER
              Сообщения: 264
              Зарегистрирован: 13:46, 15.05.2009

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

              Сообщение DIGGER »

              А вообще наверное более корректно определять язык системы…
              Это верно, но есть одно "но": у многих стоит Windows русский (в Украине, например) но люди выбирают в комфорте язык украинский, получается что чат будет укр., а плагин на русском, хотя есть и поддержка украинского :(

              P.S. Пока что у меня ресурсы для EN RU UA и Windows выбирает автоматически что больше подходит :)

              P.P.S. Может уберёте в чате выбор языка? что бы было как в системе…
              Maxim Mirgorodsky
              Администратор
              Сообщения: 6877
              Зарегистрирован: 09:56, 27.06.2005

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

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

              По умолчанию выбирается тот что выбран был в инсталляторе, а в инсталляторе по умолчанию как в системе. При первом запуске начиная с версии 4.40 нет выбора языка. Но это офтопик.
              Закрыто