Страница 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 (если она создалась при компиляции) и посмотреть истинные имена функций с помощью Майкрософтовской утилиты
DEPENDS.rar
(555.09 КБ) 411 скачиваний
. Они должны быть такими 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.