плагины на С++

Больше
12 года 9 мес. назад #1 от rrrFer_
rrrFer_ создал тему: плагины на С++
Предлагаю описывать то, что нужно доработать в SDK
Вобщем, посмотрел я на rqplugutils.h и rqplug.h, и не совсем понял почему в .h файлах размещается реализация функций. Еще не понял зачем такое изобилие глобальных переменных. ИМХО оправданно сделать указатель на callback функцию глобальным, но...массив bAnswer (в котором функции формируют запросы к клиенту) и UIN пользователя глобальными быть не должны.
UIN используется только одной функцией(для определения статуса, вроде бы), ей можно передавать UIN в качестве аргумента.
Часть функций, которые формируют запросы имеют внутри описание массива bAnswer(да, имя тоже что и у глобального) - это еще и запутывает чуть чуть ((

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 9 мес. назад - 12 года 9 мес. назад #2 от rrrFer_
rrrFer_ ответил в теме RE: плагины на С++
если массив bAnswer сделать локальным - то при загрузке плагина выдается сообщение
"ошибка в плагине". Хотя...работает плагин после этого без ошибок. Наверно от того, что pluginFun возвращает указатель на этот массив, при выходе за пределы области видимости память из под массива освобождается и возникает ошибка

хотя, можно локальный и статический.
Последнее редактирование: 12 года 9 мес. назад пользователем rrrFer_.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 9 мес. назад - 12 года 9 мес. назад #3 от rrrFer_
rrrFer_ ответил в теме RE: плагины на С++
Внес некоторые косметические изменения в 3 файла из "R&Q mini SDK".
Архив с измененными файлами прилагаю.
Файл rqplugutils.h разбил на 2 файла: разделил интерфейс и реализацию.
Указатель на callback функцию объявил как extern.
поместил содержимое .h файлов между директивами ifndef и enif (чтобы не подключался один .h файл несколько раз к проекту ).
Более подробно внесенные изменения описаны тут
Если что-то не нравится в коде - пишите, Мб поправлю.
А еще, rqplugutils содержит кучу функций, которых не было в "R&Q mini SDK" - они взяты из плагина AckMaster.

----
Архив-то забыл добавить:

Вложение SDKchanges.7z не найдено

Вложения:
Последнее редактирование: 12 года 9 мес. назад пользователем rrrFer_.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: bassvazoozaDelphukdekRapid D
Время создания страницы: 0.242 секунд
Работает на Kunena форум