Автор | Сообщение |
|
| |
Пост N: 3578
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.09.13 12:50. Заголовок: Запуск внешнего приложения
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|
|
| |
Пост N: 3574
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.09.13 15:36. Заголовок: Переделал еще одному..
Переделал еще одному клиенту прогу с Clipper на Harbour И вот что странно при запуске по сетке этого приложения не работает печать ряда документов. Печать идет через запуск внешнего приложения с указанием параметров. На всех компах в сети стоит NOD32. На сервере стоит антвирь от мелких и печать там работает нормально. Может ли NOD32 счесть что запуск из приложения другого приложения является подозрительным действием и блокировать такой код ? В аналогичной проге + установленный DRWEB проблем нет. PS Внешнее приложение есть и лежит на месте. Код примерно таков EXECANDWAIT(Gl_wnprn+"winprint "+cpars,0) Думал временный файл отчета не создается , ан нет он есть.
|
|
|
|
| постоянный участник
|
Пост N: 937
Зарегистрирован: 27.01.07
|
|
Отправлено: 19.09.13 15:40. Заголовок: Dima пишет: Может л..
Dima пишет: цитата: | Может ли NOD32 счесть что запуск из приложения другого приложения является подозрительным действием и блокировать такой код ? |
| Точно не скажу, но есть вариант, что Нод запускает эту программу в "песочнице", чтобы исключить вредоносное влияние. А в "песочнице", понятное дело, все сетевые функции блокированы. Не пробовал Ноду в исключения эту прогу добавить?
|
|
|
|
| |
Пост N: 3575
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.09.13 15:41. Заголовок: PSP пишет: Не пробо..
PSP пишет: цитата: | Не пробовал Ноду в исключения эту прогу добавить? |
| Да думал сделать но сейчас рабочий процесс и доступа удаленного к компу мне не дают.
|
|
|
|
| |
Пост N: 3576
Зарегистрирован: 17.05.05
|
|
Отправлено: 19.09.13 18:24. Заголовок: Отрубил NOD32 и ни ч..
Отрубил NOD32 и ни чего не изменилось. Хммм не пойму куда копать.
|
|
|
|
| постоянный участник
|
Пост N: 938
Зарегистрирован: 27.01.07
|
|
Отправлено: 19.09.13 18:35. Заголовок: А приложение запуска..
А приложение запускается?
|
|
|
|
| |
Пост N: 3577
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.09.13 12:23. Заголовок: PSP пишет: А прилож..
PSP пишет: цитата: | А приложение запускается? |
| Да. Понатыкал проверок (с выводом на экран) до EXECANDWAIT(Gl_wnprn+"winprint "+cpars,0) Все красиво и нормально но печать не пашет ;) Думал глючит EXECANDWAIT , заменил на hb_processrun и ни чего не изменилось. Локально работает а по сети нет. PS Заменил на WAPI_ShellExecute заработала печать , не фига не понимаю ......... Что такое может быть с операционкой что работает только такой вызов ? WAPI_ShellExecute(,"open",Gl_wnprn+"winprint",ccpars,,0) А если так то не работает (у меня работает норм у клиента нет) EXECANDWAIT(Gl_wnprn+"winprint "+ccpars,0) или hb_processrun(Gl_wnprn+"winprint "+ccpars)
|
|
|
|
| |
Пост N: 294
Зарегистрирован: 08.07.06
|
|
Отправлено: 20.09.13 14:24. Заголовок: Dima пишет: hb_proc..
Dima пишет: У меня в соседней ветке пока все сходится к тому, что именно hb_ProcessRun(), который я поставил вместо RUN() на 95% явился причиной "необъяснимых" вылетов программы без единого сообщения. Причем в режиме отладки запускал в цикле - все работает. А на рабочих местах - из 10 компов 6 штук вылетают в среднем раз в час-полтора.
|
|
|
|
| |
Пост N: 3580
Зарегистрирован: 17.05.05
|
|
Отправлено: 20.09.13 14:28. Заголовок: Sergy пишет: явился..
Sergy пишет: цитата: | явился причиной "необъяснимых" вылетов программы без единого сообщения |
| Полагаю что не только он является причиной. У меня тоже бывает на ровном месте (правда редко очень) хлоп и окошко проги исчезло без сообщений и без лога , при этом даже не использовался hb_ProcessRun. При чем локально такого не происходит а вот по сети да.
|
|
|
|
| |
Пост N: 3601
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 10:23. Заголовок: Сделал простой тест ..
Сделал простой тест Proc main local sysname REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") REQUEST HB_CODEPAGE_RU866 hb_cdpSelect( "RU866" ) sysname:=getenv("TEMP")+"\"+alltrim(str(hb_MilliSeconds()))+".txt" set alter on set alter to (sysname) ? "Проверка печати через EXECANDWAIT" set alter off close alter EXECANDWAIT("c:\winprint\winprint "+sysname,0) sysname:=getenv("TEMP")+"\"+alltrim(str(hb_MilliSeconds()))+".txt" set alter on set alter to (sysname) ? "Проверка печати через hb_processrun" set alter off close alter hb_processrun("c:\winprint\winprint "+sysname,,,,.t.) sysname:=getenv("TEMP")+"\"+alltrim(str(hb_MilliSeconds()))+".txt" set alter on set alter to (sysname) ? "Проверка печати через WAPI_ShellExecute" set alter off close alter WAPI_ShellExecute(,"open","c:\winprint\winprint",sysname,,0) return У меня вылезло 3 страницы. Тоже и у другого клиента. У проблемного вылезла только одна с лейбой "Проверка печати через WAPI_ShellExecute" Куда копать не пойму.........
|
|
|
|
| |
Пост N: 50
Зарегистрирован: 21.04.13
|
|
Отправлено: 04.10.13 10:38. Заголовок: Может быть ...
1) Гарантированно сделать разные имена файлов печати sysname1..2..3, не полагаясь на hb_MilliSeconds 2) Прочитать сообщение out.txt от "c:\winprint\winprint ..."+">out.txt" 3) Простой run() или hb_run() - иногда лучше работает, чем остальное вышеприведенное 4) Хотя бы inkey(3) между тремя заданиями
|
|
|
|
| |
Пост N: 3602
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 10:54. Заголовок: petr707 пишет: hb_r..
petr707 пишет: Запускается в отдельном окне что напрягает и не скрыть его..........
|
|
|
|
|
| |
Пост N: 51
Зарегистрирован: 21.04.13
|
|
Отправлено: 04.10.13 11:06. Заголовок: Свойства проблемного принтера и порт
1) Принтер - локальный, сетевой, удаленный в терминальном сеансе? Марка известна? 2) Порт принтера ? Winprint - не все порты сможет осилить 3) Свойства принтера - доступны ?
|
|
|
|
| |
Пост N: 3603
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 11:08. Заголовок: Локальный PDFFACTORY..
Локальный PDFFACTORY (виртуальный принтер)
|
|
|
|
| |
Пост N: 3604
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 11:21. Заголовок: Смысл в том что нужн..
Смысл в том что нужно запустить пачку документов на печать с помощью winprint.exe С этой задачей успешно справлялся до поры до времени EXECANDWAIT так как он ждал окончания задания. Но почему то у одного клиента он работать отказался. Запуск той же пачки документов через WAPI_ShellExecute не вариант так как он не ждет окончания задания и в результате страницы вылазят в перемешку а не по порядку.
|
|
|
|
| |
Пост N: 52
Зарегистрирован: 21.04.13
|
|
Отправлено: 04.10.13 13:41. Заголовок: Уточнение
Уточнение - у каждого клиента свой экземпляр "c:\winprint\winprint " ? и свой экземпляр локального виртуального принтера ? И каждый клиент себе сам изготавливает PDF-файлы ? Реального изготовления бумажных твердых копий - нет ? Не проще сразу в софте сделать PDF-файл?
|
|
|
|
| |
Пост N: 3605
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 13:53. Заголовок: petr707 пишет: Уточ..
petr707 пишет: цитата: | Уточнение - у каждого клиента свой экземпляр "c:\winprint\winprint " ? |
| Да petr707 пишет: цитата: | и свой экземпляр локального виртуального принтера ? |
| Да petr707 пишет: цитата: | И каждый клиент себе сам изготавливает PDF-файлы ? |
| Да petr707 пишет: цитата: | Реального изготовления бумажных твердых копий - нет ? |
| Есть На этот принтер пускаем задания только когда нужно что то затестить.
|
|
|
|
| |
Пост N: 53
Зарегистрирован: 21.04.13
|
|
Отправлено: 04.10.13 14:14. Заголовок: Что поменять в конфигурации
1)Если сетевая конфиграция - то сделал бы единый winprint.exe - в сети для всех 2)Проверил бы печать winprint.exe проблемного клиента на другой виртуальный(или реальный) принтер, например XPS 3)все-таки интересно, что сообщает winprint в >out.txt ?
|
|
|
|
| |
Пост N: 3606
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 14:24. Заголовок: petr707 пишет: 3)вс..
petr707 пишет: цитата: | 3)все-таки интересно, что сообщает winprint в >out.txt |
| Все это я делаю удаленно. Попробовать с выводом можно но такое впечатление что EXECANDWAIT вообще ни чего не запускает. В аналогичной сети с гораздо большим кол-вом компов EXECANDWAIT без проблем запускает winprint
|
|
|
|
| |
Пост N: 54
Зарегистрирован: 21.04.13
|
|
Отправлено: 04.10.13 15:06. Заголовок: Понятно, что запуск разный...
Понятно, что запуск разный... если точно известно- что Shell - работает Чтобы получить результат , нужно или вызов поменять, или причину понять. Проще писать в лог.txt (изнутри execandwait или обертки вокруг нее): состав командной строки, ее ответ и errolevel Потом в другое время посмотреть лог.Может один вызов - не пропускается антивирусом(к примеру), а второй вызов - пропускается. Первый вызов - ищет cmd.exe(а он стал недоступен), а второму вызову - не нужен cmd.exe В одном вызове - запущенная программа - может ждать ответа оператора - на какую-нить ошибку вызова ( не дождется, поскольку окна-то нет )
|
|
|
|
| |
Пост N: 3607
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.13 18:08. Заголовок: сделал с логами пред..
сделал с логами предварительно проверив переменную TEMP там она вот такая C:\DOCUME~1\Admin\LOCALS~1\Temp Логи делал так (у меня работает) str1:="" hb_processrun("c:\winprint\winprint",,@str1) memowrit("c:\winprint\log1.txt",str1) Hb_run("notepad c:\winprint\log1.txt") EXECANDWAIT("c:\winprint\winprint >c:\winprint\log.txt") Hb_run("notepad c:\winprint\log.txt") В обоих случаях логов нет , кроме первого который сам создаю но в нем пусто. То есть как я и полагал запуск winprint не происходит с помощью этих 2-х функций и хз почему. PS Лог должен быть таким Shareware version 2.08.02 (22.08.2000) Copyright Port Ltd, 1999 Internet: www.port.obninsk.ru E-Mail: winprint@mail.ru port@obninsk.ru Phone: (08439) 60851, (08439) 63087 Usage: Winprint.exe <fileName> [port] For Example: Winprint.exe d:\file.txt Winprint.exe d:\file.txt lpt1 Winprint.exe d:\file.txt \\Server\hp
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|