On-line: Andrey, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
администратор




Пост N: 3578
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.09.13 12:50. Заголовок: Запуск внешнего приложения




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 26 , стр: 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)
Думал временный файл отчета не создается , ан нет он есть.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 937
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.09.13 15:40. Заголовок: Dima пишет: Может л..


Dima пишет:

 цитата:
Может ли NOD32 счесть что запуск из приложения другого приложения является
подозрительным действием и блокировать такой код ?


Точно не скажу, но есть вариант, что Нод запускает эту программу в "песочнице", чтобы исключить вредоносное влияние. А в "песочнице", понятное дело, все сетевые функции блокированы. Не пробовал Ноду в исключения эту прогу добавить?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3575
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.09.13 15:41. Заголовок: PSP пишет: Не пробо..


PSP пишет:

 цитата:
Не пробовал Ноду в исключения эту прогу добавить?


Да думал сделать но сейчас рабочий процесс и доступа удаленного к компу мне не дают.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3576
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.09.13 18:24. Заголовок: Отрубил NOD32 и ни ч..


Отрубил NOD32 и ни чего не изменилось. Хммм не пойму куда копать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 938
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 19.09.13 18:35. Заголовок: А приложение запуска..


А приложение запускается?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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)





Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 294
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 20.09.13 14:24. Заголовок: Dima пишет: hb_proc..


Dima пишет:

 цитата:
hb_processrun



У меня в соседней ветке пока все сходится к тому, что именно hb_ProcessRun(), который я поставил вместо RUN() на 95% явился причиной "необъяснимых" вылетов программы без единого сообщения. Причем в режиме отладки запускал в цикле - все работает. А на рабочих местах - из 10 компов 6 штук вылетают в среднем раз в час-полтора.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3580
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.09.13 14:28. Заголовок: Sergy пишет: явился..


Sergy пишет:

 цитата:
явился причиной "необъяснимых" вылетов программы без единого сообщения


Полагаю что не только он является причиной. У меня тоже бывает на ровном месте (правда редко очень)
хлоп и окошко проги исчезло без сообщений и без лога , при этом даже не использовался hb_ProcessRun.
При чем локально такого не происходит а вот по сети да.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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"
Куда копать не пойму.........

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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) между тремя заданиями

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3602
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.10.13 10:54. Заголовок: petr707 пишет: hb_r..


petr707 пишет:

 цитата:
hb_run()


Запускается в отдельном окне что напрягает и не скрыть его..........

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 51
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 04.10.13 11:06. Заголовок: Свойства проблемного принтера и порт


1) Принтер - локальный, сетевой, удаленный в терминальном сеансе? Марка известна?
2) Порт принтера ? Winprint - не все порты сможет осилить
3) Свойства принтера - доступны ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3603
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.10.13 11:08. Заголовок: Локальный PDFFACTORY..


Локальный PDFFACTORY (виртуальный принтер)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3604
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.10.13 11:21. Заголовок: Смысл в том что нужн..


Смысл в том что нужно запустить пачку документов на печать с помощью winprint.exe
С этой задачей успешно справлялся до поры до времени EXECANDWAIT так как он ждал
окончания задания. Но почему то у одного клиента он работать отказался.
Запуск той же пачки документов через WAPI_ShellExecute не вариант так как он не ждет
окончания задания и в результате страницы вылазят в перемешку а не по порядку.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 52
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 04.10.13 13:41. Заголовок: Уточнение


Уточнение - у каждого клиента свой экземпляр "c:\winprint\winprint " ?
и свой экземпляр локального виртуального принтера ?
И каждый клиент себе сам изготавливает PDF-файлы ?
Реального изготовления бумажных твердых копий - нет ?

Не проще сразу в софте сделать PDF-файл?




Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3605
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.10.13 13:53. Заголовок: petr707 пишет: Уточ..


petr707 пишет:

 цитата:
Уточнение - у каждого клиента свой экземпляр "c:\winprint\winprint " ?


Да

petr707 пишет:

 цитата:
и свой экземпляр локального виртуального принтера ?


Да

petr707 пишет:

 цитата:
И каждый клиент себе сам изготавливает PDF-файлы ?


Да

petr707 пишет:

 цитата:
Реального изготовления бумажных твердых копий - нет ?


Есть

На этот принтер пускаем задания только когда нужно что то затестить.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 53
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 04.10.13 14:14. Заголовок: Что поменять в конфигурации


1)Если сетевая конфиграция - то сделал бы единый winprint.exe - в сети для всех
2)Проверил бы печать winprint.exe проблемного клиента на другой виртуальный(или реальный) принтер, например XPS
3)все-таки интересно, что сообщает winprint в >out.txt ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3606
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.10.13 14:24. Заголовок: petr707 пишет: 3)вс..


petr707 пишет:

 цитата:
3)все-таки интересно, что сообщает winprint в >out.txt


Все это я делаю удаленно. Попробовать с выводом можно но такое впечатление
что EXECANDWAIT вообще ни чего не запускает. В аналогичной сети с гораздо
большим кол-вом компов EXECANDWAIT без проблем запускает winprint

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 54
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 04.10.13 15:06. Заголовок: Понятно, что запуск разный...


Понятно, что запуск разный... если точно известно- что Shell - работает
Чтобы получить результат , нужно или вызов поменять, или причину понять.
Проще писать в лог.txt (изнутри execandwait или обертки вокруг нее):
состав командной строки, ее ответ и errolevel
Потом в другое время посмотреть лог.Может один вызов - не пропускается антивирусом(к примеру),
а второй вызов - пропускается.
Первый вызов - ищет cmd.exe(а он стал недоступен), а второму вызову - не нужен cmd.exe
В одном вызове - запущенная программа - может ждать ответа оператора - на какую-нить ошибку вызова
( не дождется, поскольку окна-то нет )



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост 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




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 26 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 698
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет