Предложения по плагинной системе
- Delphuk
- Не в сети
- Moderator
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Fr0st
- Не в сети
- Platinum Member
- Сообщений: 360
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- xternalx
- Не в сети
- Elite Member
- Сообщений: 201
- Спасибо получено: 0
+дафига. чтобы через АПИ можно было получать значения всех параметров крыски, а так же их изменять, а так же, чтобы в АПИ наконец появились функции для работы с zip архивами(создание\распаковка), а то велосипед не хочется изобретать =)Прежде всего хотелось бы доступа к настройкам проги, а то с db4 мороки много.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Fr0st
- Не в сети
- Platinum Member
- Сообщений: 360
- Спасибо получено: 0
А также глобальный вопрос: вот мы пишем, к примеру
function RQ_GetConnectionState: integer;
var data: Pointer;
begin
data:=CallStr(char(PM_GET)+char(PG_CONNECTIONSTATE));
Result:=_int_at(data, 5)
end;
...
function callStr(s: AnsiString): pointer;
begin
result:=callback(str2comm( s ))
end;
...
procedure RQ__ParseInitString(data:Pointer; var callback:TpluginFun; var pAPIVersion:integer;
var andrqPath, userPath:string; var currentUIN:integer);
callback:=_ptr_at(data,6);
..
end
где выделяется память под data? Или она уже должна быть выделена?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Rapid D
- Не в сети
- Administrator
- Сообщений: 1995
- Спасибо получено: 35
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Fr0st
- Не в сети
- Platinum Member
- Сообщений: 360
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Alexeyslav
- Не в сети
- Senior Member
- Сообщений: 61
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Fr0st
- Не в сети
- Platinum Member
- Сообщений: 360
- Спасибо получено: 0
КАКОЙ процедуры-то? Плагинная ф-я отработала, выделила память, передала указатель. Дальше работаем с буфером из плагина. Или ты думаешь, что буфер только один для каждого плагина? Любопытно, надо проверить
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Fr0st
- Не в сети
- Platinum Member
- Сообщений: 360
- Спасибо получено: 0
к событию PE_STATUS_CHANGED добавить возможность возврата результата PM_ABORT, чтобы прервать дальнейшую обработку события. Цель - игнорить появление или другие выкрутасы определённых контактов.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Alexeyslav
- Не в сети
- Senior Member
- Сообщений: 61
- Спасибо получено: 0
Процедуры плагина. Память выделилась под data, крыса передает управление плагину с сообщением о некоем событии, плагин отрабатывает возвращает управление программе и data очищается, или ждет следующего раза. И так происходит с каждым плагином... хотя нет, врятли... наверняка под переменную эту выделяется память в начале вызовов, вызываются обработчики события всех плагинов последовательно, и потом переменная уничтожается. Хотя было бы неплохо проверять эту переменную каждый раз после очередного плагина, авось кто-то изменит её размер и будет потом ойойой..."вероятно, да и логично было бы выделять память под data лишь на время вызова процедуры"
КАКОЙ процедуры-то? Плагинная ф-я отработала, выделила память, передала указатель. Дальше работаем с буфером из плагина. Или ты думаешь, что буфер только один для каждого плагина? Любопытно, надо проверить
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Rapid D
- Не в сети
- Administrator
- Сообщений: 1995
- Спасибо получено: 35
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Mikanoshi
- Не в сети
- Platinum Member
- Сообщений: 1112
- Спасибо получено: 158
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- elmanse
- Не в сети
- Junior Member
- Сообщений: 27
- Спасибо получено: 0
Собственно нам нужно не много:
1. Загрузка региона для основного окна из jpg or bmp
2. Натянуть порезаную на 4 части картинку на основное окно
3. Ну и добавить самописные кнопки.
Собственно тоже самое и с окном чата.
Все настройки засунуть в xml и упаковать все картинки в zip.
И пусть люди рисуют и украшают проект.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Rapid D
- Не в сети
- Administrator
- Сообщений: 1995
- Спасибо получено: 35
Как-раз переписал плагин R&Q Messages на D2009.Есть у кого SDK, нормально работающий в D2009? Что-то у меня ошибки сплошные)
Если нужно поскарее - то могу выложить и сейчас его. Просто сделал его немного несовместимым с 1106, и собирался выложить вместе с 1107
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Mikanoshi
- Не в сети
- Platinum Member
- Сообщений: 1112
- Спасибо получено: 158
Не к спеху, но лучше выложить сейчас)) Просто у меня ещё ни одна прога нормально не перекомпилировалась с Д7 на Д2009, я в шоке)) Хоть плагины попробовать - там компонентов нету сторонних. А с компонентами вообще проблема, хотя и стараюсь их по минимуму использовать. Проги компилируются, но при запуске экзе вылазят всякие ошибки. Чувствую долго придётся возиться...Mikanoshi писал(а):
Как-раз переписал плагин R&Q Messages на D2009.Есть у кого SDK, нормально работающий в D2009? Что-то у меня ошибки сплошные)
Если нужно поскарее - то могу выложить и сейчас его. Просто сделал его немного несовместимым с 1106, и собирался выложить вместе с 1107
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Rapid D
- Не в сети
- Administrator
- Сообщений: 1995
- Спасибо получено: 35
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Mikanoshi
- Не в сети
- Platinum Member
- Сообщений: 1112
- Спасибо получено: 158
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Rapid D
- Не в сети
- Administrator
- Сообщений: 1995
- Спасибо получено: 35
1) событие PE_PROPERTIES_CHANGED = 230;
Возникает довольно часто, при изменении настроек (и не только )
А нужно оно, для следующего:
2) PG_PREF_VALUE = 103;
передавать нужно строку с названием параметра (маленькими букафками)
результат: 1 байт - тип результата, и потом строка со значением.
Типы:
TElemType = (ET_String = 0, ET_Integer, ET_Blob, ET_Double, ET_Date, ET_Time, ET_Bool);
PS. Это пока пробная реализация данной функциональности, возможно придумаем что получше
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Toxa
- Не в сети
- Platinum Member
- Сообщений: 368
- Спасибо получено: 0
ps: пример использования был бы очень кстати.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Fr0st
- Не в сети
- Platinum Member
- Сообщений: 360
- Спасибо получено: 0
Рапид, вот это дело! Очень полезная фича! Только вот как насчет длины переданной инфы?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.