Forum Webscript.Ru

Программирование => Perl => Тема начата: Kouz от 24 Апреля 2004, 12:05:05

Название: Как perl скриптом запустить GUI программу под Апачем?
Отправлено: Kouz от 24 Апреля 2004, 12:05:05
Есть WinXP c сервером Apache.

В процессе работы perl скрипт запускает Excel, тот автоматически формирует .xls файл, который затем будет отдан клиенту.

Проблема в том, что из под Апача не получается запускать perl скриптом приложения с GUI интерфейсом. Программы не имеющие GUI запускаются без проблем.

Если выполнять perl скрипт не из под Апача, а из командной строки, по запускаются любые приложения с GUI и без.

Проблема также описана здесь:

http://perl.apache.org/docs/general/os/win32/faq.html#Why_can_t_my_scripts_execute_external_programs_with_GUI_frontends_from__within_Apache_mod_perl_

Предлагают запускать программы в ключем /quiet чтобы они GUI не возбуждали. Но у Exсel\'я "тихого" ключа нет.

Кто-нибудь пробовал решать такую задачу?
Название: Как perl скриптом запустить GUI программу под Апачем?
Отправлено: Chs от 24 Апреля 2004, 16:10:34
perldoc Spreadsheet::WriteExcel
Название: Как perl скриптом запустить GUI программу под Апачем?
Отправлено: Kouz от 24 Апреля 2004, 17:21:51
Chs, спасибо за ответ, но я думаю Вы меня не совсем поняли. Мне не нужно из моего скрипта читать/писать файлы Excel.
Мне нужно запустить сам Excel из скрипта. Притом скрипт запускается сервером Apache.

Ценность Excel\'я в моем случае заклютается в том, что в нем установлены дополнительные add-on\'ы которые и производят действия над данными. Обрабатывать эти данные напрямую из perl скрипта просто не реально.
Название: Как perl скриптом запустить GUI программу под Апачем?
Отправлено: Phoinix от 24 Апреля 2004, 17:44:04
Kouz
Цитировать
...запускает Excel, тот автоматически формирует .xls файл, который затем будет отдан клиенту.


А как ты предполагаешь Excel будет отдавать этот файл клиенту? AFAIK Excel не работает как веб приложение...

Цитировать
...которые и производят действия над данными. Обрабатывать эти данные напрямую из perl скрипта просто не реально.


Не думаю, что какие-то вещи сделать будет не реально... Смотри доку на модуль который указал Chs, от себя могу добавить:
perldoc Spreadsheet::ParseExcel - это для чтения .xls файла
Название: Как perl скриптом запустить GUI программу под Апачем?
Отправлено: Mog. от 24 Апреля 2004, 17:56:19
Цитировать
Phoinix:
А как ты предполагаешь Excel будет отдавать этот файл клиенту?
А если задача екселя - сформировать файл и положить на диск, а оттуда средствами скрипта - клиенту.
Название: Как perl скриптом запустить GUI программу под Апачем?
Отправлено: Kouz от 24 Апреля 2004, 18:53:48
Так и есть. Файл формируется и сохраняется средствами екселя. Затем скрипт отдает этот файл клиету.

Дело в том, что в екселе для обработки данных уже написаны VB макросы, к тому же в екселе установлены дополнительные программы (add-on) других разработчиков.
Переделывать систему, чтобы все данные обрабатывались perl\'ом действительно не реально.

Спасибо.