Проверка работоспособности

Плагины Обработки Страниц - обсуждение, обмен, продажа, помощь в разработке.

Модератор: Max Terentiev

Ответить
Сообщение
Автор
Jurka
Сообщения: 3
Зарегистрирован: Ср окт 24, 2007 9:32 am
Откуда: Kharkov
Контактная информация:

Проверка работоспособности

#1 Сообщение Jurka » Ср окт 24, 2007 9:55 am

Здравствуйте!

У меня вопросец - как я могу проверить работоспособность плагина.

Я скачал 3.31 версию, но в настройках ни чего не нашел. Где искать?

А, да, заодно расскажите какой библиотекой для чтения картинок посоветуете пользоваться, для Visual C++, потому как к минимальных требованиях не указан .NET framework, а следовательно использовать GDI+ нестоит.

Аватара пользователя
Max Terentiev
Admin
Сообщения: 1937
Зарегистрирован: Сб мар 27, 2004 12:01 am
Откуда: Санкт-Петербург
Контактная информация:

#2 Сообщение Max Terentiev » Ср окт 24, 2007 8:11 pm

У меня вопросец - как я могу проверить работоспособность плагина.
Создать DLL плагина и использовать ее для обработки какой-то тестовой страницы. Очевидно, что только так.
Я скачал 3.31 версию, но в настройках ни чего не нашел. Где искать?
Выбор плагина для обработки страницы осуществляется в окне редактирования адреса (кнопка Изменить на главном окне программы).
А, да, заодно расскажите какой библиотекой для чтения картинок посоветуете пользоваться, для Visual C++, потому как к минимальных требованиях не указан .NET framework, а следовательно использовать GDI+ нестоит.
Для Visual C++ не могу сказать, я больше специализируюсь на Delphi/Builder'e. Тем не менее никаких ограничений нет. В принципе вы можете использовать все что угодно, лишь бы DLL экспортировала нужные функции. В этом смысле GDI вполне возможен.

Jurka
Сообщения: 3
Зарегистрирован: Ср окт 24, 2007 9:32 am
Откуда: Kharkov
Контактная информация:

#3 Сообщение Jurka » Сб окт 27, 2007 6:10 pm

Спасибо за ответ!

У меня возникает такая ошибка

Код: Выделить всё

Ошибка: Плагин не вернул идентификатора выполненной операции
взял из лога. Может ли она выдаваться при неправильно распознанной капче, или я не правильно сформировал выходные данные?

А не могли бы Вы еще и запостить сюда пример формирования выходных данных. язык не принципиален :).

Спасибо

Аватара пользователя
Max Terentiev
Admin
Сообщения: 1937
Зарегистрирован: Сб мар 27, 2004 12:01 am
Откуда: Санкт-Петербург
Контактная информация:

#4 Сообщение Max Terentiev » Сб окт 27, 2007 7:33 pm

Вы забыли вернуть в парметре ResultTypeFlags одну из этих констант:

#define resCaptchaDecoded 0x00000100

Флаг показывает, что плагин распознал защитную картинку и возвращает результат распознавания.

#define resNewFieldValues 0x00000200

Флаг показывает, что плагин модифицировал значения полей для отправляемой формы и возвращает новый набор значений

#define resNewHttpRequest 0x00000400

Флаг показывает, что плагин модифицировал HTTP заголовки или уже подготовленные данные (поля и закодированные значения) для сабмита формы и возвращает новые значения и заголовки.

#define resSubmitDone 0x00000800

Флаг означает, что сабмит формы был выполнен средствами плагина или перенаправлен вашему скрипту и отправка данных SmartPoster'ом не требуется. При получения этого флага адрес будет помечен как "Отправлен".

Аватара пользователя
Max Terentiev
Admin
Сообщения: 1937
Зарегистрирован: Сб мар 27, 2004 12:01 am
Откуда: Санкт-Петербург
Контактная информация:

#5 Сообщение Max Terentiev » Сб окт 27, 2007 7:40 pm

А не могли бы Вы еще и запостить сюда пример формирования выходных данных. язык не принципиален
В случае если декодировалась капча результат можно вернуть так (на языке С++):

bool __stdcall ProcessPostingRequest(/*тут много параметров, смотрите их в SDK*/)
{
// выделяем память
*CaptchaRecognitionResult=(char *)AllocateMemory(strlen("результат декодирования")+1);
// копируем строку
strcpy(*CaptchaRecognitionResult,"результат декодирования");
// указываем размер строки
CaptchaRecognitionResultSize=strlen("результат декодирования")+1;
// выставляем флаг выполненной операции:
ResultTypeFlags=resCaptchaDecoded;
// возвращаем true
return true;
}

С остальными выходными переменными работать нужно примерно так же.

Jurka
Сообщения: 3
Зарегистрирован: Ср окт 24, 2007 9:32 am
Откуда: Kharkov
Контактная информация:

#6 Сообщение Jurka » Пн окт 29, 2007 8:57 pm

Я уже всех задолбал, НО!

Код: Выделить всё


string ans;

тут еще кое чего

и вот как возвращаю результаты:

Код: Выделить всё


*CaptchaRecognitionResult=(char*)AllocateMemory(ans.length()+1);
strcpy(*CaptchaRecognitionResult,ans.c_str());
CaptchaRecognitionResultSize=6;			
ResultTypeFlags=resCaptchaDecoded;		
return true;

мне возвращается все таже ошибка,
Плагин не вернул идентификатора выполненной операции.

что делать?

Могу выслать собранную длл, у меня то отладки нет, посмотрите чего она там возвращает, потому как я лог собрал и у меня по точкам доходит до конца функции, все печатает, ошибок нет.

Аватара пользователя
Max Terentiev
Admin
Сообщения: 1937
Зарегистрирован: Сб мар 27, 2004 12:01 am
Откуда: Санкт-Петербург
Контактная информация:

#7 Сообщение Max Terentiev » Пн окт 29, 2007 9:05 pm

Ок, пришлите dll (в Зип архиве) на support@bspdev.com

Аватара пользователя
Max Terentiev
Admin
Сообщения: 1937
Зарегистрирован: Сб мар 27, 2004 12:01 am
Откуда: Санкт-Петербург
Контактная информация:

#8 Сообщение Max Terentiev » Вт ноя 06, 2007 10:18 am

Я исправил проблему и отправил вам письмо где объяснил что нужно сделать чтобы все заработало.

dima8720
Сообщения: 1
Зарегистрирован: Пт май 06, 2016 6:05 pm
Откуда: Судак,Россия
Контактная информация:

#9 Сообщение dima8720 » Пт май 06, 2016 6:54 pm

Подскажите мне тоже,как исправить эту ошибку

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость