CGI/PERL + DLL

Тема в разделе "Perl программирование", создана пользователем bugs, 31 мар 2004.

Статус темы:
Закрыта.
  1. bugs

    bugs Гость

    Привет
    Вопрос в следующем :
    Есть CGI скрипт на perl'e, он подключает библиотеку DLL и вызывает из нее одну из функций, которая запускает виндовс-приложение. В качестве результата функция возвращает хендл открытого окна.
    Из командной строки скрипт нормально выполняется. А вот из-под веб-сервера вместо хендла возвращается ноль и ошибка : "Не удается найти указанный файл" (приложение-то кстати все же запускается но совсем не так как нужно)
    С настройками сервера все в порядке, все скрипты работают, успешно подключают и используют другие dll( которые не запускают приложений)
    Может быть у вас есть какие-нибудь предположения что же здесь не так?
    P.S. Я все больше склоняюсь к тому что все дело в правах сервера, что он не дает ему запуститься из соображений безопасности : ( . В настройках убрал анонимный доступ, настроил чтобы скрипт запускался под администратором.
    Может еще как можно настроить?
    Сервер IIS 5.0 хотя какой именно не имеет значения
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    bugs
    нууу. скрипт в студию :)
     
  3. bugs

    bugs Гость

    Я пробовал из под веб-сервера запускать exe-шник который подключает эту DLL и вызывает функцию, возвращающую хендл. Результат тот же, из командной строки все ок, из под сервера - нули и ошибки

    Так что скорее дело в принципе, а не в языке

    use Win32::API;
    use Win32::API::prototype;
    ApiLink('mglue32.dll', 'HANDLE MG_OpenSession(LPSTR lpParamStr, int nShow)');
    $handle=MG_OpenSession("NULL",SW_NORMAL);
    print "$handle\n";
     
  4. STYX

    STYX Гость

    bugs
    Когда постишь код, выключай, пжлст, смайлы (сразу под полем ввода сообщения).
     
  5. bugs

    bugs Гость

    я тоже посмотрел на свой код и подумал какой-то он несерьезный стал :)
    спасибо
     
  6. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    bugs
    Хммм. Мне сложно ответить т.к. твой код почему-то не возвращает 0. Может чего с настройками.
     
  7. Гость

    если из командной строки работает, можешь обращение к dll'ке отдельным скриптом сделать и что-то вроде такого устроить:
    $data=`perl -- dll_script.pl`;
     
  8. maik

    maik Гость

    А вообще что нужно чтобы подключить к Perl программе dll библиотеку кроме "ApiLink"?
     
Загрузка...
Похожие Темы - CGI PERL DLL
  1. vladis222
    Ответов:
    1
    Просмотров:
    1.098
  2. sasha465
    Ответов:
    0
    Просмотров:
    1.367
  3. sasha465
    Ответов:
    1
    Просмотров:
    1.866
  4. AnaStas
    Ответов:
    3
    Просмотров:
    3.100
  5. slavon-x86
    Ответов:
    2
    Просмотров:
    4.476
Статус темы:
Закрыта.

Поделиться этой страницей