Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - bugs

Страницы: [1]
1
Подскажите, пожалуйста, можно ли каким-нибудь способом скрыть toolbar и menubar у текущей страницы? Не запускать новое через window.open а изменять именно текущее.
В сети нашел решение только для нетскейпа :(

2
Perl / perl и C++
« : 15 Апреля 2004, 21:18:31 »
Разобрался сам
Оказывается нужно было использовать функцию unpack

3
Perl / perl и C++
« : 15 Апреля 2004, 18:07:15 »
Застрял вот на чем :

Сначала написал програмку на VC++  :  подключаю мою DLL-ку, описываю прототип функции которую собираюсь вызывать и собственно вызываю. Одним из параметров функции является указатель на выходной массив, в котором будут содержаться  идентификаторы  - тип LPDWORD или unsigned long*. Результат возвращается - все ок.

Нужно написать то же самое на Perl\'e :
Подключаю DLL, описываю нужную мне функцию :
ApiLink(\'mglue32.dll\', \'DWORD MG_GetCurSympIds(HANDLE hwnd, DWORD id, LPDWORD lpaid, DWORD dwMaxSize)\');
Вызываю ее в скрипте, на место LPDWORD lpaid подаю например скаляр $list или массив @list пока неважно.
Выделаю под него память $list = " " x 200.  Вместо идентификаторов возвращается последовательность символов в юникоде, причем на каждый идентификатор приходится по два символа.

Подскажите что нужно сделать чтобы получить нормальные идентификаторы в виде чисел?

Кстати, если это поможет :

 Если в проге на VC++  в прототипе вместо unsigned long* указать char* то вместо целых чисел возвращаеются как раз те самые символы в юникоде

4
Веб-технологии / CGI/PERL + DLL
« : 31 Марта 2004, 19:39:46 »
Я пробовал из под веб-сервера запускать 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";

P.S. пожалуйста, перемести эту тему в раздел веб-технологии

5
Веб-технологии / CGI/PERL + DLL
« : 31 Марта 2004, 18:41:09 »
DLL написана не мной, поэтому я в ней особо не разбирался
Но исходники все есть, вот та самая функция которая запускает приложение и возвращает хендл.
 Правда не знаю на сколько будет полезен вырванный кусок кода

HWND32 MGAPI MG_OpenSession(
LPCSTR   lpParamStr,
INT   nShow)
{
  ..
}

6
Веб-технологии / CGI/PERL + DLL
« : 31 Марта 2004, 17:26:50 »
Привет
Вопрос в следующем :
Есть CGI скрипт на perl\'e, он подключает библиотеку DLL и вызывает из нее одну из функций, которая запускает виндовс-приложение. В качестве результата функция возвращает хендл открытого окна.
 Из командной строки скрипт нормально выполняется. А вот из-под веб-сервера вместо хендла возвращается ноль и ошибка : "Не удается найти указанный файл" (приложение-то кстати все же запускается но совсем не так как нужно)

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

Может быть у вас есть какие-нибудь предположения что же здесь не так?

P.S. Я все больше склоняюсь к тому что все дело в правах сервера, что он не дает ему запуститься из соображений безопасности : ( . В настройках убрал анонимный доступ, настроил чтобы скрипт запускался под администратором.
Может еще как можно настроить?
Сервер IIS 5.0 хотя какой именно не имеет значения

7
Веб-технологии / cgi/perl & external program
« : 01 Марта 2004, 18:08:17 »
Дело в том что запуск приложения это одна из 80 функций которые реализованы в этой dll, писал ее не я но она самодельная
Предполагается удаляенная работа с приложением через набор этих функций в dll. Поэтому запуск нужно осуществить через dll, чтобы получить хендл окна а дальше уже используя хендл  полноценно работать с приложением. У меня это работает только из командной строки а через браузер из-под сервера вместо хендла возвращаются нули, вот я и подумал что просто сервер не дает dll-ке нормально работать с командной строкой

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

8
Спасибо за совет!
А каким образом его можно тормознуть на сервере?

9
Веб-технологии / cgi/perl & external program
« : 01 Марта 2004, 17:12:52 »
Dll через командную строку запускает приложение, в path прописываю путь к приложению и функция из dll его запускает.

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

Так командная строка нужна только для запуска приложения

10
Веб-технологии / cgi/perl & external program
« : 01 Марта 2004, 15:59:21 »
Не получается, видимо сервер не разрешает использовать командную строку в целях безопасности
Вызов system(\'start C:\\WINNT\\system32\\cmd.exe\') запускает cmd но в ответ ничего получить не может, страница грузится пока насильственно не завершить cmd например.
Написал на С++ прогу которая так же как и скрипт вызвает мою dll-ку - та же ерунда, запускать-то запускает но в ответ ничего не получает, т.е. приводит к запуску но не к работе.

Наверняка есть способ разрешить скрипту работать с командной строкой, только я не знаю как...

11
Веб-технологии / cgi/perl & external program
« : 29 Февраля 2004, 16:57:20 »
Привет
Написал dll-ку, которая запускает приложение через командную строку. В cgi файле на перле подключаю эту dll, вызываю функцию запуска приложения, которая должна возвращать хендл окна : приложение запускается, но скрипт не может получать хендл, скрипт вообще ничего не получает в output.
Из командной строки скрипт работает отлично

Подскажите кто-нибудь что же здесь не так?

Похожая ситуация с запуском cmd.exe, тоже ничего в ответ не получает - а постоянно как бы находится в ожидании завершения приложения.
Может быть кто знает как можно полноценно обратиться к командной строке из скрипта? Знаю что это небезопасно, но мне очень нужно.

Буду очень благодарен за любую помощь!

12
Привет, подскажите пожалуйста
скрипт на перле работает с самодельной dll, через нее запускает и работает с приложением, он отлично запускается из командной строки в windows, но не работает из-под сервера через http, вернее он приводит к появлению процесса, но не к работе. Т.е скрипт не может получить того, что возвращают функции.
Вероятно веб-сервер не дает скрипту необходимых прав для исполнения ( командная строка - вроде как небезопасно, хотя и скрипту и dll я полностью доверяю, мне хотя бы просто протестировать )
Подскажите как настроить права хоть на любом вебсерввере под виндовс или может как по-другому решить мою проблемку
Я уже с этим так намучался что был бы ну очень  признателен за любую помощь!!!


Алексей

Страницы: [1]