Архив: Технология создания плагинов
Re: Технология создания плагинов
Ну если жалоб больше нет, то скорее всего это только у меня что-то не то.
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов
Если на сервере настройка "Дополнительно>Создание видимых в списке каналов" установлена в значении "Запрещено", то создать видимый в списке канал невозможно, можно только поменять видимость через настройку канала.
-
- Сообщения: 659
- Зарегистрирован: 08:54, 13.07.2010
- Откуда: Чебоксары, Россия
- Контактная информация:
Re: Технология создания плагинов
http://commfort.com/ru/forum/viewtopic. ... 912#p45912
Я так понимаю, это не ошибка плагина, а он поймал исключение клиента?
Я так понимаю, это не ошибка плагина, а он поймал исключение клиента?
-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов
Ответил ЛС (чтобы не загромождать эту тему разбором проблемы).KGB писал(а):http://commfort.com/ru/forum/viewtopic. ... 912#p45912
Я так понимаю, это не ошибка плагина, а он поймал исключение клиента?
Re: Технология создания плагинов
Максим, опишите как решать проблему. Не могу который день заставить работать отладку при работе с плагинами(с 4й версией проблем небыло). Как я понял, валится на стороне сервера. (vc++)
p.s. возможно ли создать версию чат-сервера, лимитированную в 2-3 соединения без ограничений по времени?
Код: Выделить всё
First-chance exception at 0x0046ecee in CommFort_server.exe: 0xC0000005: Access violation reading location 0x00000404.
- HukpoFuJl
- Сообщения: 90
- Зарегистрирован: 15:29, 17.10.2008
- Откуда: Белaрусь, Гомель
- Контактная информация:
Re: Технология создания плагинов
Последний раз редактировалось HukpoFuJl 00:24, 02.10.2010, всего редактировалось 1 раз.
Re: Технология создания плагинов
Суть такова когда я останавливаю плагин ошибка вылетает в канал события:
Я останаливаю так:
Когда закрываешь коммфорт то всё норм.
Что не так?Подскажите как его выгрузить?
Код: Выделить всё
[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);
Что не так?Подскажите как его выгрузить?
Re: Технология создания плагинов
для этого есть событие 2100, однако в последнее время у меня не получается с ним работать, выдаёт ошибку в события, но я так предполагаю, что у меня где-то утечка памяти, и при закрытии я её не подчищаю. Перепроверь у себя вроде вначале я этим событием нормально останавливал плагин.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);
Что не так?Подскажите как его выгрузить?
Re: Технология создания плагинов
Вроде всё там нормально.
- HukpoFuJl
- Сообщения: 90
- Зарегистрирован: 15:29, 17.10.2008
- Откуда: Белaрусь, Гомель
- Контактная информация:
Re: Технология создания плагинов
Очень прошу разработчиков обратить внимание на пожелание, изложил всё максимально подробно, если реализуете - поставлю вам памятник при жизни 

-
- Администратор
- Сообщения: 6886
- Зарегистрирован: 09:56, 27.06.2005
Re: Технология создания плагинов
1) Скорее всего система защиты проявляет себя.kkk писал(а):Максим, опишите как решать проблему. Не могу который день заставить работать отладку при работе с плагинами(с 4й версией проблем небыло). Как я понял, валится на стороне сервера. (vc++)p.s. возможно ли создать версию чат-сервера, лимитированную в 2-3 соединения без ограничений по времени?Код: Выделить всё
First-chance exception at 0x0046ecee in CommFort_server.exe: 0xC0000005: Access violation reading location 0x00000404.
2) Подумаем.
Ответили в той теме. К сожалению, ничего не получится реализовать. Отказались от запросов к серверу за данными по нескольким причинам:HukpoFuJl писал(а):Очень прошу разработчиков обратить внимание на пожелание, изложил всё максимально подробно, если реализуете - поставлю вам памятник при жизни
1) Нагрузка на сеть и вычислительные ресурсы. Серверные плагины то управляются администратором, к тому же нет необходимости передавать данные по сети. А вот клиентские администратор сервера контролировать не может. А запросы списков очень ресурсоемкие и данных много.
2) В новой версии все данные получаются синхронно (то есть буфер с данными заполняется сразу же). Если же делать запросы за данными по сети от клиента к серверу - никакой синхронности не будет.
-
- Сообщения: 659
- Зарегистрирован: 08:54, 13.07.2010
- Откуда: Чебоксары, Россия
- Контактная информация:
Re: Технология создания плагинов
Просьба проверить CommfortGetData с id 1080 (Список каналов, к которым подключен виртуальный пользователь).
Мне кажется, что блок данных сейчас получается такой:Блок данных (входящий): число(количество) + (текст(название канала) + число(количество пользователей в канале) + текст(тема канала))*количество
число(количество) + (текст(название канала))*количество
Re: Технология создания плагинов
Блин, это потеря потерь... Походу запрос данных с id 1060-1062 не пашет... Запрашиваю через CommFortGetData размер ip, id иля пароля, чтобы выделить под них память, а получаю "Integer overflow" в ответ...
Вот сразу после этого и вылетает ошибка
.
Maxim Mirgorodsky, проверьте пожалуйста или подскажите что делаю не так.
Код: Выделить всё
String name = "nick";
DWORD size = (*CommFortGetData)(dwPluginID, 1061, NULL, NULL, name.t_str() , name.Length()); //пробывал и вручную писать - ..."nick", 4...

Maxim Mirgorodsky, проверьте пожалуйста или подскажите что делаю не так.
-
- Сообщения: 659
- Зарегистрирован: 08:54, 13.07.2010
- Откуда: Чебоксары, Россия
- Контактная информация:
Re: Технология создания плагинов
Может быть неверная длина буфера? Не нужно разве умножить длину строки на 2?$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, проверьте пожалуйста или подскажите что делаю не так.
UPD: И вообще, формат передаваемой программе строки должен быть таким: длина(4 байта)+сама строка.
Т.е. в примере:
4(4 байта)+"nick"(8 байт). Итого, размер буфера - 12.
Re: Технология создания плагинов
Блин, банально забыл...))) Спасибо что откликнулсяKGB писал(а):Может быть неверная длина буфера? Не нужно разве умножить длину строки на 2?
UPD: И вообще, формат передаваемой программе строки должен быть таким: длина(4 байта)+сама строка.
Т.е. в примере:
4(4 байта)+"nick"(8 байт). Итого, размер буфера - 12.
