Предложения по плагинной системе

Больше
13 года 1 мес. назад #21 от Delphuk
На сколько и когда, это только Рапиду известно. Возможно и прийдётся все плагины переписывать, кто знает :)

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

Больше
13 года 1 мес. назад #22 от Fr0st
Ну, тогда по факту и переделаем, что нам стоит. Прежде всего хотелось бы доступа к настройкам проги, а то с db4 мороки много.

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

Больше
13 года 1 мес. назад #23 от xternalx
Fr0st писал(а):

Прежде всего хотелось бы доступа к настройкам проги, а то с db4 мороки много.

+дафига. чтобы через АПИ можно было получать значения всех параметров крыски, а так же их изменять, а так же, чтобы в АПИ наконец появились функции для работы с zip архивами(создание\распаковка), а то велосипед не хочется изобретать =)

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

Больше
13 года 3 нед. назад #24 от Fr0st
Рапид, как насчёт того, чтобы к событию PE_STATUS_CHANGED добавить PE_XSTATUS_CHANGED для отслеживания изменений доп. статуса?

А также глобальный вопрос: вот мы пишем, к примеру
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? Или она уже должна быть выделена?

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

Больше
13 года 3 нед. назад #25 от Rapid D
Под data выделяеца память в R&Q, когда там строка создаёца.

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

Больше
13 года 3 нед. назад #26 от Fr0st
Ага, хорошо, а когда же она очищается? Не может ли быть утечек памяти? И другой аспект, последующий вызов функции не затрет инфу, полученную в преддыдущий раз (т.е. при каждом вызове функции выделаятеся новый кусок памяти)?

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

Больше
12 года 11 мес. назад #27 от Alexeyslav
Вопрос конечно интересный, но я думаю что утечек там нет - вероятно, да и логично было бы выделять память под data лишь на время вызова процедуры. Если тебе надо сохранить содержимое до следующего вызова - копируй в свои переменные.

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

Больше
12 года 11 мес. назад #28 от Fr0st
"вероятно, да и логично было бы выделять память под data лишь на время вызова процедуры"
КАКОЙ процедуры-то? Плагинная ф-я отработала, выделила память, передала указатель. Дальше работаем с буфером из плагина. Или ты думаешь, что буфер только один для каждого плагина? Любопытно, надо проверить

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

Больше
12 года 11 мес. назад #29 от Fr0st
Предложение:
к событию PE_STATUS_CHANGED добавить возможность возврата результата PM_ABORT, чтобы прервать дальнейшую обработку события. Цель - игнорить появление или другие выкрутасы определённых контактов.

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

Больше
12 года 10 мес. назад #30 от Alexeyslav

"вероятно, да и логично было бы выделять память под data лишь на время вызова процедуры"
КАКОЙ процедуры-то? Плагинная ф-я отработала, выделила память, передала указатель. Дальше работаем с буфером из плагина. Или ты думаешь, что буфер только один для каждого плагина? Любопытно, надо проверить

Процедуры плагина. Память выделилась под data, крыса передает управление плагину с сообщением о некоем событии, плагин отрабатывает возвращает управление программе и data очищается, или ждет следующего раза. И так происходит с каждым плагином... хотя нет, врятли... наверняка под переменную эту выделяется память в начале вызовов, вызываются обработчики события всех плагинов последовательно, и потом переменная уничтожается. Хотя было бы неплохо проверять эту переменную каждый раз после очередного плагина, авось кто-то изменит её размер и будет потом ойойой...

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

Больше
12 года 10 мес. назад #31 от Rapid D
Вы хоть посмотрели бы, как написано в R&Q. Что толку делать догадки???

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

Больше
12 года 10 мес. назад #32 от Mikanoshi
Есть у кого SDK, нормально работающий в D2009? Что-то у меня ошибки сплошные)

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

Больше
12 года 10 мес. назад - 12 года 10 мес. назад #33 от elmanse
В данный раздел обсуждений можно добавить и поддержку полноценных скинов. Это можно засунуть прямо в ядро. Был бы проект на C++ я бы полностью взялся за его разработку, так как у меня огромный опыт в этом вопросе, но увы (delphi). Но думаю что на делфи ее сделать немного легче чем на сях.
Собственно нам нужно не много:
1. Загрузка региона для основного окна из jpg or bmp
2. Натянуть порезаную на 4 части картинку на основное окно
3. Ну и добавить самописные кнопки.

Собственно тоже самое и с окном чата.
Все настройки засунуть в xml и упаковать все картинки в zip.

И пусть люди рисуют и украшают проект. :)
Последнее редактирование: 12 года 10 мес. назад пользователем elmanse.

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

Больше
12 года 10 мес. назад #34 от Rapid D
Mikanoshi писал(а):

Есть у кого SDK, нормально работающий в D2009? Что-то у меня ошибки сплошные)

Как-раз переписал плагин R&Q Messages на D2009.
Если нужно поскарее - то могу выложить и сейчас его. Просто сделал его немного несовместимым с 1106, и собирался выложить вместе с 1107 ;)

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

Больше
12 года 10 мес. назад #35 от Mikanoshi
Rapid D писал(а):

Mikanoshi писал(а):

Есть у кого SDK, нормально работающий в D2009? Что-то у меня ошибки сплошные)

Как-раз переписал плагин R&Q Messages на D2009.
Если нужно поскарее - то могу выложить и сейчас его. Просто сделал его немного несовместимым с 1106, и собирался выложить вместе с 1107 ;)

Не к спеху, но лучше выложить сейчас)) Просто у меня ещё ни одна прога нормально не перекомпилировалась с Д7 на Д2009, я в шоке)) Хоть плагины попробовать - там компонентов нету сторонних. А с компонентами вообще проблема, хотя и стараюсь их по минимуму использовать. Проги компилируются, но при запуске экзе вылазят всякие ошибки. Чувствую долго придётся возиться...

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

Больше
12 года 10 мес. назад #36 от Rapid D
Вотъ плагинчик

Вложенный файл:

Имя файла: RnQMessages092.rar
Размер файла:42 KB
Вложения:

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

Больше
12 года 10 мес. назад #37 от Mikanoshi
Спасибо, отлично работает =) CallExec.pas правда какой-то мелкий...

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

Больше
12 года 10 мес. назад #38 от Rapid D
В 1107 появилось кое что новое в апи:
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. Это пока пробная реализация данной функциональности, возможно придумаем что получше :)

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

Больше
12 года 10 мес. назад #39 от Toxa
а поподробнее? какие настройки имеются ввиду?
ps: пример использования был бы очень кстати.

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

Больше
12 года 10 мес. назад #40 от Fr0st
Toxa, полагаю, что любые.
Рапид, вот это дело! Очень полезная фича! Только вот как насчет длины переданной инфы?

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

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