Использование функций dll из плагина

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Lims
Нууууп
Сообщения: 723
Зарегистрирован: Чт ноя 09, 2006 7:55 pm

Использование функций dll из плагина

Сообщение Lims »

Всем привет :)
Есть dll для шифрования пакетов и плагин который перехватывает пакеты перед отправкой. Нужно из этого плагина вызвать функцию, которая находится в dll.
Пробовал через

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

eval "use Win32::API;";
my $func = new Win32::API('my.dll', 'myFunc, 'P', '');
$func->Call($msg);

в ActivePerl этот код работает, но OpenKore выдает ошибку
Can't locate object method "new" via package "Win32::API" (perhaps you forgot to load "Win32::API"?)
Подскажите пожалуйста как можно из плагина вызвать dll функцию?
Аватара пользователя
[GM]#05
Профессионал
Сообщения: 593
Зарегистрирован: Пт фев 09, 2007 8:44 pm
Сервер RO:: rRO

Re: Использование функций dll из плагина

Сообщение [GM]#05 »

Кора не может найти пакет Win32::API либо он не подключен.
Попробуй указать пути к библиотекам перла, например:

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

use lib 'C:/perl/lib';
use lib 'C:/perl/site/lib';
use Win32::API;
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: Использование функций dll из плагина

Сообщение 4epT »

или попробуй вот эту папку добавить в кору (в папку src)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Lims
Нууууп
Сообщения: 723
Зарегистрирован: Чт ноя 09, 2006 7:55 pm

Re: Использование функций dll из плагина

Сообщение Lims »

[GM]#05
При обработке "use Win32::API;" бот напрочь вылетает с ошибкой в API.dll
4epT
добавил папку, бот стал ругаться на отсутсвие API.dll. Добавил апи.длл - моя dll'ка стала загружаться, а вот функции вызывать не получается.
теперь бот ругается на строчку "$func->Call($msg);" и пишет про отсутствие Call.al
хз где взять этот Call.al. в "C:/perl/" его нету :(
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: Использование функций dll из плагина

Сообщение 4epT »

попробуй как:

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

my $func = Win32::API->new('my.dll', 'myFunc, 'P', '');
$func->Call($msg);
вот так было у дениЗки:

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

...
use Win32::API; 
...
my $function = Win32::API->new('pluginsphoenix.dll', 'ro_register', 'PPPPPPIPPPPP', 'I'); 
message "Waiting for a new bot registration...n"; 
$result = $function->Call($newLogin,$newPass,$newMail,$newLName,$newFName,$newMName,$login{sex},$newCountry,$newCity,$newPost,$newAddr,$newPhone 
Добавлено спустя 7 минут 34 секунды:
кстати у меня такая api.dll
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Lims
Нууууп
Сообщения: 723
Зарегистрирован: Чт ноя 09, 2006 7:55 pm

Re: Использование функций dll из плагина

Сообщение Lims »

4epT
Большое спасибо за помощь. Заработало :Yahoo!:
Скопировал папки win32 и auto из дениЗкиного набора для плагина phoenix и поставил макроплагин(без него даже phoenix не работает).
Ответить