Страница 18 из 42
Re: Технология создания плагинов и программ-дополнений
Добавлено: 16:46, 28.07.2009
Vary
Предложение:
как насчет отправки файла плагином? было бы полезно
Re: Технология создания плагинов и программ-дополнений
Добавлено: 14:54, 29.07.2009
supermet
Пробовал откомпилировать null плагин на mingw (версия GCC для windows). При нажатии в настройках плагина клавиши "запустить" он не запускается, но кнопки "настройки" и "о плагине" работают. Еще компилировал в Visual C++ 2008. Результат тот же.
В чем может быть проблема?
Re: Технология создания плагинов и программ-дополнений
Добавлено: 23:19, 29.07.2009
DIGGER
В том что плагин ничего не делает! Вы исходный код смотрели?

Re: Технология создания плагинов и программ-дополнений
Добавлено: 23:33, 29.07.2009
supermet
Конечно смотрел! На mingw и VC++ 2008 компилируется нормально, но не запускается. Декорирование функций отключил.
Re: Технология создания плагинов и программ-дополнений
Добавлено: 00:17, 30.07.2009
els
supermet
Если честно, то код нульплагина вообще с ошибками, и без корректирования он не должен компилироваться.
Плюс в MSVS C++ нет некоторых директив и заголовочных файлов используемых в примере.
Ну у тебя раз компилируется, значит дело, скорее всего, в экспорте функций, поковыряй в этом направлении.
Re: Технология создания плагинов и программ-дополнений
Добавлено: 14:31, 30.07.2009
supermet
Я отредактировал исходник, убрал ссылку на vcl, заменил функции ShowMessage на MessageBox и все откомпилировалось, но к сожалению плагин не запустился.
Re: Технология создания плагинов и программ-дополнений
Добавлено: 15:01, 30.07.2009
VIRUS
Я думаю, что все таки проблема в именах экспортируемых функций. Советую вам "вскрыть" свою DLL (если она создалась при компиляции) и посмотреть истинные имена функций с помощью Майкрософтовской утилиты
. Они должны быть такими
http://s49.radikal.ru/i126/0907/8f/c970f03993c4.jpg
Re: Технология создания плагинов и программ-дополнений
Добавлено: 16:14, 30.07.2009
supermet
У меня такие же имена функций, только порядок другой.
- pic1.png
- снимок экрана
- (98.45 КБ) 144 скачивания
Re: Технология создания плагинов и программ-дополнений
Добавлено: 17:49, 30.07.2009
VIRUS
У меня такие же имена функций.
Вот это самое главное. Значит для проверки работы плагина напишите код в операторе if:
if(dwMessageID==5)
{
MessageBox(NULL,"OK!","Проверка",MB_OK );
}
Re: Технология создания плагинов и программ-дополнений
Добавлено: 09:25, 31.07.2009
supermet
Я проверил. Все экспортируемые функции работают кроме PluginProcess.
Re: Технология создания плагинов и программ-дополнений
Добавлено: 10:27, 03.08.2009
supermet
demon9992 писал(а):Помогите, нужно вывести публикуемое сообщение.
Всё перепробывал....
Код: Выделить всё
var
s: String;
begin
s:=bMessage^;
ShowMessage(s);
Вот такой процедурой можно узнать сообщение:
Код: Выделить всё
procedure ParseMessFromChanel(bMessage : PString; dwMessageLength : DWORD; var user, ip, chan, txt: String);
var l: integer;
res: TStringStream;
begin
res := TStringStream.Create(String(bMessage));
//пользователь() + текст(название канала) + текст(опубликованное сообщение или состояние)
Res.Position := 0;
res.Read(l, 4); // узаем длину поля Ника
user:= res.ReadString(l); // Ник
res.Read(l, 4); // узнаем длину ip
ip:= res.ReadString(l); // узнаем ip
res.Read(l, 4); // длина названия канала
chan:= res.ReadString(l); // узнаем название канала
res.Read(l, 4); // узнаем длину текста
txt:= res.ReadString(l); // узнаем текст
res.Free;
end;
Re: Технология создания плагинов и программ-дополнений
Добавлено: 23:29, 03.08.2009
DIGGER
Не могу понять как так получается что у меня МОЙ плагин работает, у жены на компике работает
(Win7 свежепоставленная), а
на форуме уже два человека написало что у них не работает, а только чат показывает: "Ошибка при запуске плагина…". У них версия чата 4.30
(как они пишут)
Куда копать?
Re: Технология создания плагинов и программ-дополнений
Добавлено: 12:08, 04.08.2009
Maxim Mirgorodsky
Ошибка при запуске плагина - значит при выполнении процедуры PluginInit произошло исключение (ошибка). Копать необходимо в сторону чистоты содержимого этой функции

.
Re: Технология создания плагинов и программ-дополнений
Добавлено: 12:19, 04.08.2009
DIGGER
понятно. спасибо. А как узнать подробнее что за исключение?
Вопрос: большую часть кода я могу перенести с PluginInit в DLL_PROCESS_ATTACH, если ошибка в моём коде, то чат тогда будет падать? или показывать более подробную ошибку?
У Вас плагин заработал?
И ещё (только сообразил): PluginInit вызывается когда пользователь НАЖИМАЕТ кнопку "Запустить"? или нет?
Даже если процедуру PluginInit ВООБЩЕ убрать, то кнопки "Настройка" и "О плагине" ДОЖНЫ работать?
Re: Технология создания плагинов и программ-дополнений
Добавлено: 16:17, 05.08.2009
VIRUS
Уважаемые разработчики! Ваша система плагинов очень гибка и простая в использовании, за это огромное спасибо. Хотелось бы еще увидеть команды для получения версии сервера (полезная штука), так вы сможете с помощью разработчиков плагинов предотвращать нелегальное использования серверов ниже текущих версий. Если можно добавьте данную команду и ID 15 для функции CommFortGetData.