Страница 5 из 26
Re: Технология создания плагинов
Добавлено: 14:09, 18.09.2010
@serg@
Есть предположение о некорректном распознании режима для ID=67.
Если кто может перепроверьте
Re: Технология создания плагинов
Добавлено: 00:31, 19.09.2010
supermet
Взял пример плагина repeater для сервера. Изменил код немного для компилляции в Visual Studio 2010 Express, откомпиллировал, запустил. Работает нормально. Но почему то не работает когда добавил функцию:
Код: Выделить всё
void CreateUser(typeCommFortProcess proc, DWORD PlugID, wstring user, wstring ip, wstring pass, DWORD icon)
{
string aDS = fTextToAnsiString(user)+ //имя
fTextToAnsiString(ip)+ //IP-адрес
fIntegerToAnsiString(0)+ //пароль в открытом виде
fTextToAnsiString(pass)+ //пароль
fIntegerToAnsiString(icon); //иконка
(*proc)(PlugID, 1001, (BYTE*)aDS.c_str(), aDS.length());
}
Вызываю ее внутри PluginStart :
Код: Выделить всё
CreateUser(CommFortProcess, dwPluginID, L"Repeater", L"192.168.0.0", L"kjlg765gfsesw2334609", 0);
И плагин почему-то не работает.
Не могу понять, почему без функции пользователь создается, а с функцией - нет.
Re: Технология создания плагинов
Добавлено: 11:22, 19.09.2010
Maxim Mirgorodsky
@serg@ писал(а):Есть предположение о некорректном распознании режима для ID=67.
Если кто может перепроверьте
Посмотрели - вроде нет проблем.
Опишите подробнее что именно не получается с режимом.
Обращаем внимание, что если канал уже создан, то производится только вход, а значение режима игнорируется.
Re: Технология создания плагинов
Добавлено: 13:21, 19.09.2010
ZigZagkms
Maxim Mirgorodsky
Приведите пожалуйста пример получение данных от программы например с ID 1081. Когда оба блока данных не нулевое значение. В примере рассматривается случай когда 1 блок данных нулевой. По разному попробовал никак не получается.
Re: Технология создания плагинов
Добавлено: 14:07, 19.09.2010
KGB
ZigZagkms писал(а):Maxim Mirgorodsky
Приведите пожалуйста пример получение данных от программы например с ID 1081. Когда оба блока данных не нулевое значение. В примере рассматривается случай когда 1 блок данных нулевой. По разному попробовал никак не получается.
Выше (на 3ей странице) я уже привел такой пример (правда, на Delphi). Буфер для отправляемых данных формируется так же, как и для использования в CommfortProcess.
Re: Технология создания плагинов
Добавлено: 14:14, 19.09.2010
LIT
Уважаемые разработчики плагинов и дополнений!
Огромная просьба делайте так, чтобы эти дополнения могли вести свои логи. Всем будет удобнее отследить какой плагин сбоит. Не знаю на сколько это сложно, т.к. сам не умею программировать.
Re: Технология создания плагинов
Добавлено: 14:29, 19.09.2010
supermet
Может быть у кого нибудь есть пример работающей функции для создания виртуального пользователя и отправки сообщения в чат из плагина для Commfort 5 на С/C++ ?
Re: Технология создания плагинов
Добавлено: 20:45, 19.09.2010
$teelR@t
Maxim Mirgorodsky, может ответите что-нибудь по этому посту про ошибку в обработке события 1090
http://commfort.com/ru/forum/viewtopic. ... 177#p45177
Re: Технология создания плагинов
Добавлено: 01:39, 20.09.2010
SV
Кто-нибуть пользовался в плагинах sSkinManager в делфи?
Подскажите как его остановить.не как не получаеться при завершении работы плагина остановить его,т.к если его не останавливать то клиент выдаёт ошибку.
Пока не подключин стиль в sSkinManager то всё работает без ошибок,как подключаю так и всё.
Re: Технология создания плагинов
Добавлено: 10:52, 20.09.2010
Maxim Mirgorodsky
Прошу прощения, пропустил это сообщение.
Действительно, ошибка есть. Имя виртуального пользователя отсутствует. Большое спасибо за информацию, будет исправлено.
Re: Технология создания плагинов
Добавлено: 01:42, 21.09.2010
SV
Подскажите мне событие PluginStop происходить когда нажимаешь на кнопку остановить?
Или в обоих случаях при нажатии кнопки стоп и закрытия чата?
Если так то когда я останавливаю плагин кнопкой стоп то ошибок нет,останавливаю так:
Код: Выделить всё
Form1.sSkinmanager1.Active:=false;
FreeAndNil(Form1.FilterGraph1);
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
А когда выхожу из чата вылетает ошибка.
что не так?
Re: Технология создания плагинов
Добавлено: 01:45, 21.09.2010
$teelR@t
anonim писал(а):Подскажите мне событие PluginStop происходить когда нажимаешь на кнопку остановить?
Или в обоих случая при нажатии кнопки стоп и закрытия чата?
а самому слабо проверить?
И при закрытии и при нажатии кнопки Остановить и если вызовешь событие остановки плагина.
Re: Технология создания плагинов
Добавлено: 07:16, 21.09.2010
KGB
anonim писал(а):
Если так то когда я останавливаю плагин кнопкой стоп то ошибок нет,останавливаю так:
Код: Выделить всё
Form1.sSkinmanager1.Active:=false;
FreeAndNil(Form1.FilterGraph1);
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
А когда выхожу из чата вылетает ошибка.
что не так?
Возможно, в тот момент форм уже не существует. Если закомментировать
Код: Выделить всё
Form1.sSkinmanager1.Active:=false;
FreeAndNil(Form1.FilterGraph1);
при выходе из чата будет ошибка?
Re: Технология создания плагинов
Добавлено: 10:51, 21.09.2010
SV
KGB писал(а):anonim писал(а):
Если так то когда я останавливаю плагин кнопкой стоп то ошибок нет,останавливаю так:
Код: Выделить всё
Form1.sSkinmanager1.Active:=false;
FreeAndNil(Form1.FilterGraph1);
FreeAndNil(Form3);
FreeAndNil(Form2);
FreeAndNil(Form1);
А когда выхожу из чата вылетает ошибка.
что не так?
Возможно, в тот момент форм уже не существует. Если закомментировать
Код: Выделить всё
Form1.sSkinmanager1.Active:=false;
FreeAndNil(Form1.FilterGraph1);
при выходе из чата будет ошибка?
Вылетает ошибка, как понию это всё дело в sSkinManager как я и писал в предыдущем посте эта ошибка поевряется когда подружен стиль в sSkinmanager,причём когда плагин закрывает коммфорт при закритии коммфорта.
Re: Технология создания плагинов
Добавлено: 13:26, 21.09.2010
ZigZagkms
Помогите разобраться пожалуйста.
Имеется серверный плагин (main.cpp), проект в embarcadero rad studio c++ 2010.
Вообщем создаю форму (unit1.cpp), переношу на нее элемент ListBox1.
В файле main.cpp сверху подключаю и объявляю
В PluginStart добавляю:
Далее в PluginShowOptions вызываю форму
Все хорошо работает, но проблема в том что если в каком нибудь месте (в отдельном потоке) в файле main.cpp
до открытия формы по кнопке Опции попытаться добавить элемент в список (formOptions->ListBox1->Items->Add) плагин зависает вместе с комфорт сервером.
Нашел временный выход, в PluginStart добавил:
Но ведь это не правильно. Помогите разобраться, в чем проблема?