2009-10-19 2 views
6

У меня есть неудачная задача выполнить (минимальную) работу по обслуживанию двух устаревших приложений, разработанных в DBIII +/Clipper '87.DOS унаследованное приложение с USB-принтером

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

В любом случае, несмотря на то, что приложения работают под управлением XP, аппаратная поддержка становится сложной задачей. Пользователь должен заменить неисправный принтер (старый ударный HP с параллельным интерфейсом) и рабочий стол 486 (!), На котором размещаются приложения.

Основная проблема заключается в том, чтобы найти принтер, который может быть использован под XP, возможно через USB (коробка Asus EEE будет идеальной и не будет иметь параллельный порт) и сделает ее «видимой» для DOS Приложения.

До сих пор я нашел обходной путь:

http://geekswithblogs.net/dtotzke/articles/26204.aspx

плюс несколько утилит:

http://www.dosprn.com/ http://www.dos2usb.com/index.htm http://www.printfil.com/english.htm

утилит, кажется лучше, потому что они предлагают какой-то фильтр для старых escape-последовательностей (например, ESC/P для Epson или диалекта HP), что делает этот транспа аренда на принтер. Так они говорят, по крайней мере.

Итак, вопрос в том, имеет ли кто-нибудь опыт взаимодействия старых программ DOS с современными принтерами под XP? Какие-либо оговорки? Использовали ли вы одну из перечисленных утилит (или другую, которую я еще не нашел), и если да, то какой из них вы бы посоветовали?

+0

Ваш обходной путь выглядит знакомым. Я перенаправляю порт USB в LPT1, и это обычно работает для меня. – 2009-10-19 09:48:14

+0

dosprn ++, я думаю, что было что-то еще, но я не могу вспомнить его ... – Artelius

ответ

5

Обычно мы делаем то, о чем упоминает одна из ваших ссылок. То есть, установите принтер под Windows на любом порту, который он хочет установить самостоятельно (например, USB и т. Д.).

Далее, обменивайтесь принтером (скажем, рабочая станция называется COMPUTER1, а ваша доля - HPPRINTER).

Далее создайте пакетный файл для запуска приложения, это должно выглядеть примерно так:

net use lpt1 /d 
net use lpt1 \\COMPUTER1\HPPRINTER 
<yourapp.exe> 

В приложении установите выход в LPT1.

Существуют и другие, более сложные решения, но это, безусловно, самый простой. У нас все еще есть приложение DOS, которое было построено много лет назад, и мы все еще активно продаем и продаем. Так мы справляемся с печатью. Он работает очень хорошо. Вы также получаете дополнительное преимущество от использования Windows для очереди ваших заданий на печать, чтобы вы могли приостановить очередь на принтер и т. Д. Принтер даже может быть выключен или из бумаги, а задания все еще находятся в очереди в диспетчере очереди Windows.

Caveat: Предполагается, что выход будет поддерживаться новым принтером. Если это «более старый» HP LaserJet, то, вероятно, это PCL5, просто найдите устройство, поддерживающее PCL5, и вы уйдете.

С точки зрения фильтрации, не уверен, зачем вам это нужно. До тех пор, пока вывод PCL или Postscript или какой-либо другой стандарт, вы все равно сможете найти принтер, который поддерживает этот язык описания печати.Если у вас есть вопросы, просто добавьте комментарий к текущему устройству, и я могу представить идеи относительно совместимости, поскольку мы имеем дело с этим ежедневно.

+0

Спасибо, кучка. На прошлой неделе я поехал на машине, где до сих пор существуют приложения DOS, и вы спасли мой день;) – toniedzwiedz

Смежные вопросы