Страница 1 из 1

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

Добавлено: Вт ноя 17, 2009 2:49 pm
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 функцию?

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

Добавлено: Вт ноя 17, 2009 4:09 pm
[GM]#05
Кора не может найти пакет Win32::API либо он не подключен.
Попробуй указать пути к библиотекам перла, например:

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

use lib 'C:/perl/lib';
use lib 'C:/perl/site/lib';
use Win32::API;

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

Добавлено: Вт ноя 17, 2009 4:50 pm
4epT
или попробуй вот эту папку добавить в кору (в папку src)

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

Добавлено: Вт ноя 17, 2009 7:03 pm
Lims
[GM]#05
При обработке "use Win32::API;" бот напрочь вылетает с ошибкой в API.dll
4epT
добавил папку, бот стал ругаться на отсутсвие API.dll. Добавил апи.длл - моя dll'ка стала загружаться, а вот функции вызывать не получается.
теперь бот ругается на строчку "$func->Call($msg);" и пишет про отсутствие Call.al
хз где взять этот Call.al. в "C:/perl/" его нету :(

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

Добавлено: Ср ноя 18, 2009 9:37 am
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

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

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