Архив: Технология создания плагинов

Здесь обсуждаются технические аспекты создания дополнений.
@serg@
Сообщения: 702
Зарегистрирован: 14:50, 20.07.2009

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

Сообщение @serg@ »

Ну если жалоб больше нет, то скорее всего это только у меня что-то не то.
Вложения
права.jpg
(39.71 КБ) 42 скачивания
3.jpg
(67.37 КБ) 38 скачиваний
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

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

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

Если на сервере настройка "Дополнительно>Создание видимых в списке каналов" установлена в значении "Запрещено", то создать видимый в списке канал невозможно, можно только поменять видимость через настройку канала.
KGB
Сообщения: 659
Зарегистрирован: 08:54, 13.07.2010
Откуда: Чебоксары, Россия
Контактная информация:

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

Сообщение KGB »

http://commfort.com/ru/forum/viewtopic. ... 912#p45912
Я так понимаю, это не ошибка плагина, а он поймал исключение клиента?
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

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

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

KGB писал(а):http://commfort.com/ru/forum/viewtopic. ... 912#p45912
Я так понимаю, это не ошибка плагина, а он поймал исключение клиента?
Ответил ЛС (чтобы не загромождать эту тему разбором проблемы).
kkk
Сообщения: 4
Зарегистрирован: 15:52, 28.05.2010

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

Сообщение kkk »

Максим, опишите как решать проблему. Не могу который день заставить работать отладку при работе с плагинами(с 4й версией проблем небыло). Как я понял, валится на стороне сервера. (vc++)

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

First-chance exception at 0x0046ecee in CommFort_server.exe: 0xC0000005: Access violation reading location 0x00000404.
p.s. возможно ли создать версию чат-сервера, лимитированную в 2-3 соединения без ограничений по времени?
Аватара пользователя
HukpoFuJl
Сообщения: 90
Зарегистрирован: 15:29, 17.10.2008
Откуда: Белaрусь, Гомель
Контактная информация:

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

Сообщение HukpoFuJl »

Последний раз редактировалось HukpoFuJl 00:24, 02.10.2010, всего редактировалось 1 раз.
Аватара пользователя
SV
Сообщения: 797
Зарегистрирован: 00:11, 06.09.2010
Откуда: Киров

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

Сообщение SV »

Суть такова когда я останавливаю плагин ошибка вылетает в канал события:

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

[01.10.2010 20:40:07] Application error: "Access violation at address 057E5F26 in module 'Plugin_Player.dll.cfplug'. Read of address 05AA45EC"
Я останаливаю так:

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

FreeAndNil(MainForm.DSVideoWindowEx);
Когда закрываешь коммфорт то всё норм.
Что не так?Подскажите как его выгрузить?
@serg@
Сообщения: 702
Зарегистрирован: 14:50, 20.07.2009

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

Сообщение @serg@ »

anonim писал(а):Суть такова когда я останавливаю плагин ошибка вылетает в канал события:

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

[01.10.2010 20:40:07] Application error: "Access violation at address 057E5F26 in module 'Plugin_Player.dll.cfplug'. Read of address 05AA45EC"
Я останаливаю так:

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

FreeAndNil(MainForm.DSVideoWindowEx);
Когда закрываешь коммфорт то всё норм.
Что не так?Подскажите как его выгрузить?
для этого есть событие 2100, однако в последнее время у меня не получается с ним работать, выдаёт ошибку в события, но я так предполагаю, что у меня где-то утечка памяти, и при закрытии я её не подчищаю. Перепроверь у себя вроде вначале я этим событием нормально останавливал плагин.
Аватара пользователя
SV
Сообщения: 797
Зарегистрирован: 00:11, 06.09.2010
Откуда: Киров

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

Сообщение SV »

Вроде всё там нормально.
Аватара пользователя
HukpoFuJl
Сообщения: 90
Зарегистрирован: 15:29, 17.10.2008
Откуда: Белaрусь, Гомель
Контактная информация:

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

Сообщение HukpoFuJl »

Очень прошу разработчиков обратить внимание на пожелание, изложил всё максимально подробно, если реализуете - поставлю вам памятник при жизни :)
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

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

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

kkk писал(а):Максим, опишите как решать проблему. Не могу который день заставить работать отладку при работе с плагинами(с 4й версией проблем небыло). Как я понял, валится на стороне сервера. (vc++)

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

First-chance exception at 0x0046ecee in CommFort_server.exe: 0xC0000005: Access violation reading location 0x00000404.
p.s. возможно ли создать версию чат-сервера, лимитированную в 2-3 соединения без ограничений по времени?
1) Скорее всего система защиты проявляет себя.
2) Подумаем.
HukpoFuJl писал(а):Очень прошу разработчиков обратить внимание на пожелание, изложил всё максимально подробно, если реализуете - поставлю вам памятник при жизни :)
Ответили в той теме. К сожалению, ничего не получится реализовать. Отказались от запросов к серверу за данными по нескольким причинам:

1) Нагрузка на сеть и вычислительные ресурсы. Серверные плагины то управляются администратором, к тому же нет необходимости передавать данные по сети. А вот клиентские администратор сервера контролировать не может. А запросы списков очень ресурсоемкие и данных много.
2) В новой версии все данные получаются синхронно (то есть буфер с данными заполняется сразу же). Если же делать запросы за данными по сети от клиента к серверу - никакой синхронности не будет.
KGB
Сообщения: 659
Зарегистрирован: 08:54, 13.07.2010
Откуда: Чебоксары, Россия
Контактная информация:

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

Сообщение KGB »

Просьба проверить CommfortGetData с id 1080 (Список каналов, к которым подключен виртуальный пользователь).
Блок данных (входящий): число(количество) + (текст(название канала) + число(количество пользователей в канале) + текст(тема канала))*количество
Мне кажется, что блок данных сейчас получается такой:
число(количество) + (текст(название канала))*количество
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

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

Сообщение $teelR@t »

Блин, это потеря потерь... Походу запрос данных с id 1060-1062 не пашет... Запрашиваю через CommFortGetData размер ip, id иля пароля, чтобы выделить под них память, а получаю "Integer overflow" в ответ...

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

String name = "nick";
DWORD size = (*CommFortGetData)(dwPluginID, 1061, NULL, NULL, name.t_str() , name.Length()); //пробывал и вручную писать - ..."nick", 4...
Вот сразу после этого и вылетает ошибка :( .

Maxim Mirgorodsky, проверьте пожалуйста или подскажите что делаю не так.
KGB
Сообщения: 659
Зарегистрирован: 08:54, 13.07.2010
Откуда: Чебоксары, Россия
Контактная информация:

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

Сообщение KGB »

$teelR@t писал(а):Блин, это потеря потерь... Походу запрос данных с id 1060-1062 не пашет... Запрашиваю через CommFortGetData размер ip, id иля пароля, чтобы выделить под них память, а получаю "Integer overflow" в ответ...

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

String name = "nick";
DWORD size = (*CommFortGetData)(dwPluginID, 1061, NULL, NULL, name.t_str() , name.Length()); //пробывал и вручную писать - ..."nick", 4...
Вот сразу после этого и вылетает ошибка :( .

Maxim Mirgorodsky, проверьте пожалуйста или подскажите что делаю не так.
Может быть неверная длина буфера? Не нужно разве умножить длину строки на 2?
UPD: И вообще, формат передаваемой программе строки должен быть таким: длина(4 байта)+сама строка.
Т.е. в примере:
4(4 байта)+"nick"(8 байт). Итого, размер буфера - 12.
$teelR@t
Сообщения: 348
Зарегистрирован: 19:14, 30.03.2008
Откуда: Украина
Контактная информация:

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

Сообщение $teelR@t »

KGB писал(а):Может быть неверная длина буфера? Не нужно разве умножить длину строки на 2?
UPD: И вообще, формат передаваемой программе строки должен быть таким: длина(4 байта)+сама строка.
Т.е. в примере:
4(4 байта)+"nick"(8 байт). Итого, размер буфера - 12.
Блин, банально забыл...))) Спасибо что откликнулся :D
Закрыто