2009-10-19 9 views
6

Ich habe die unglückliche Aufgabe zu tun (minimale) Wartungsarbeiten an zwei Legacy-Anwendungen in DBIII +/Clipper '87 entwickelt.DOS Legacy-Anwendung mit USB-Drucker

Ich habe vollen Zugriff auf die Quelle und eine minimale Toolchain, um die Anwendung bei Bedarf neu zu kompilieren, aber ich darf sie aufgrund verschiedener (hauptsächlich psychologischer) Gründe vom Hauptbenutzer nicht von Grund auf neu implementieren.

Wie auch immer, während die Anwendungen unter XP gut funktionieren, wird die Hardware-Unterstützung zu einer lästigen Aufgabe. Der Benutzer muss den fehlerhaften Drucker (ein alter Impact HP mit paralleler Schnittstelle) und den 486 (!) Desktop, auf dem die Anwendungen gehostet werden, ersetzen.

Das Hauptproblem besteht jetzt darin, einen Drucker zu finden, der unter XP, möglicherweise über USB (eine Asus EEE Box wäre perfekt, und es hat keinen parallelen Port) und macht es für das DOS "sichtbar" Anwendungen.

Bisher habe ich eine Abhilfe gefunden:

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

und ein paar Dienstprogramme:

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

Die Dienstprogramme scheinen besser, weil sie eine Art Filter bieten für die alten Escape-Sequenzen (wie ESC/P für Epson oder den HP-Dialekt) machen diese Transpa Miete an den Drucker. Oder zumindest sagen sie.

Also die Frage ist: Hat jemand Erfahrung über die Schnittstelle alte DOS-Programme mit modernen Druckern unter XP? Irgendwelche Vorbehalte? Haben Sie eines der aufgelisteten Programme benutzt (oder ein anderes, das ich noch nicht gefunden habe) und wenn ja, welches würden Sie empfehlen?

+0

Ihr Workaround kommt Ihnen bekannt vor. Ich leite den USB-Port zu LPT1 um, und das hat normalerweise für mich funktioniert. –

+0

dosprn ++, ich glaube, da war noch etwas anderes, aber ich kann mich nicht erinnern ... – Artelius

Antwort

5

Normalerweise machen wir genau das, was einer Ihrer Links erwähnt. Das heißt, den Drucker unter Windows auf jedem Port installieren, auf dem er sich installieren möchte (zB: USB etc.).

Als nächstes teilen Sie den Drucker (sagen wir, die Workstation heißt COMPUTER1 und Ihre Aktie ist HPPRINTER).

Nächstes eine Batchdatei erstellen, die App zu starten, sollte es in etwa so aussehen:

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

In Ihrer App die Ausgabe auf LPT1 eingestellt.

Es gibt andere, komplexere Lösungen, aber dies ist bei weitem die einfachste. Wir haben immer noch eine DOS-App, die vor Jahren gebaut wurde und die wir immer noch aktiv vermarkten und verkaufen. So handhaben wir den Druck. Es funktioniert sehr gut. Sie erhalten außerdem den zusätzlichen Vorteil, Windows jetzt dazu zu verwenden, Ihre Druckaufträge in die Warteschlange einzureihen, so dass Sie die Druckerwarteschlange usw. anhalten können. Der Drucker kann sogar kein Papier mehr haben und die Aufträge stehen immer noch im Windows-Spooler an.

Vorbehalt: Dies setzt voraus, dass die Ausgabe vom neuen Drucker unterstützt wird. Wenn es sich um einen "älteren" HP LaserJet handelt, dann ist es wahrscheinlich PCL5. Suchen Sie einfach ein Gerät, das PCL5 unterstützt, und schon kann es losgehen.

In Bezug auf die Filterung, nicht sicher, warum Sie das brauchen würden. Solange die Ausgabe PCL oder Postscript oder ein anderer Standard ist, sollten Sie immer noch einen Drucker finden, der diese Druckbeschreibungssprache unterstützt.Wenn Sie Bedenken haben, fügen Sie einfach einen Kommentar zum aktuellen Gerät hinzu und ich kann Ihnen Vorschläge zur Kompatibilität machen, da wir uns täglich damit beschäftigen.

+0

Vielen Dank. Letzte Woche habe ich eine Zeitmaschinenfahrt zu einem Ort gemacht, an dem noch DOS-Anwendungen existieren und du hast meinen Tag gerettet;) – toniedzwiedz