Probleme beim Umleiten von DOS Druckbefehl
Mir wurde vor kurzem angetragen einem Bekannten zu helfen sein altes System zu retten. Dieses System ist ein altes DOS-Programm, geschrieben in Clipper, welches die gesamte Patientendatenbank enthält. Das Programm auf einem neuen Rechner zu starten ist ein leichtes, nachdem z.B. gewisse Werte in der Autoexec.bat angepasst wurden. Das einzige verbleibende und ungemein hinderliche Problem ist das Drucken aus dem DOS-Programm.
Ich habe mich eingehend mit bereits bestehenden Lösungsansätzen für ähnliche Probleme beschäftigt. Die Lösung ist im Prinzip immer dieselbe:
1. Drucker im Netzwerk freigeben
2. Per "net use lpt1 \\Computer\Drucker" Druckaufträge umleiten
3. In den Druckertreibern den Druckprozessor auf "winprint" "Text" stellen
4. Drucken
Das klappt auch wunderbar aus jeglicher Eingabeaufforderung, so druckt der Befehl "echo L >prn" brav ein Blatt Papier mit einem L.
Allerdings lässt das DOS-Programm weiterhin keine Druckarbeit zu.
Ich habe in diversen Beiträgen gelesen, dass in Clipper-(bzw. in DOS-)Anwendungen der Drucker extra eingestellt werden muss. Hierfür gibt es in besagtem Programm meines Erachtens nach keine Möglichkeit. Es lassen sich zwar Drucker-spezifische Einstellungen vornehmen, die erscheinen mir aber nur kosmetischer Natur zu sein, wie etwa das Einstellen der Zeilenlänge.
Auch Programme wie WinPrint, die Eingabeaufforderungen monitoren sollen, um Druckaufträge auf den Windows-Standarddrucker umzuleiten, ergaben keinen Erfolg.
Hat irgendjemand eine Ahnung was ich übersehen haben könnte?
Ich bin mit meinem Latein komplett am Ende.
Danke im voraus für jegliche Antwort,
Gruß
Ich habe mich eingehend mit bereits bestehenden Lösungsansätzen für ähnliche Probleme beschäftigt. Die Lösung ist im Prinzip immer dieselbe:
1. Drucker im Netzwerk freigeben
2. Per "net use lpt1 \\Computer\Drucker" Druckaufträge umleiten
3. In den Druckertreibern den Druckprozessor auf "winprint" "Text" stellen
4. Drucken
Das klappt auch wunderbar aus jeglicher Eingabeaufforderung, so druckt der Befehl "echo L >prn" brav ein Blatt Papier mit einem L.
Allerdings lässt das DOS-Programm weiterhin keine Druckarbeit zu.
Ich habe in diversen Beiträgen gelesen, dass in Clipper-(bzw. in DOS-)Anwendungen der Drucker extra eingestellt werden muss. Hierfür gibt es in besagtem Programm meines Erachtens nach keine Möglichkeit. Es lassen sich zwar Drucker-spezifische Einstellungen vornehmen, die erscheinen mir aber nur kosmetischer Natur zu sein, wie etwa das Einstellen der Zeilenlänge.
Auch Programme wie WinPrint, die Eingabeaufforderungen monitoren sollen, um Druckaufträge auf den Windows-Standarddrucker umzuleiten, ergaben keinen Erfolg.
Hat irgendjemand eine Ahnung was ich übersehen haben könnte?
Ich bin mit meinem Latein komplett am Ende.
Danke im voraus für jegliche Antwort,
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 141936
Url: https://administrator.de/contentid/141936
Ausgedruckt am: 24.11.2024 um 09:11 Uhr
12 Kommentare
Neuester Kommentar
Moin,
es sieht meiner Meinung nach ganz danach aus, als wenn es ein "Anwendungsproblem" wäre.
Was ich mir vorstellen könnte ist, dass das Programm nicht die logische Schnittstelle LPT1 anspricht, sondern wirklich die "reele hardwareschnittstelle" mit IRQ und allem drum und dran.
Gibt es noch eine Programmdokumentation oder in den Einstellungen deiner Anwendung, was Dich weiterbringt?
Alternativ könnte ich empfehlen, dass Du die Festplatte mit einem passenden Kabel per USB an einen Rechner anschließt und daraus eine virtuelle Maschine machst...
Ich könnte mir vorstellen, wenn DOS als VM-Client läuft, dass dann durch das "Umbiegen" jeglicher Befehle das Hostbetriebssystem in der Lage wäre zu drucken?
Was meinst Du? Ich hoff mal, dass ich mich rel. verständlich ausgedrückt habe
Gruß
Markus
es sieht meiner Meinung nach ganz danach aus, als wenn es ein "Anwendungsproblem" wäre.
Was ich mir vorstellen könnte ist, dass das Programm nicht die logische Schnittstelle LPT1 anspricht, sondern wirklich die "reele hardwareschnittstelle" mit IRQ und allem drum und dran.
Gibt es noch eine Programmdokumentation oder in den Einstellungen deiner Anwendung, was Dich weiterbringt?
Alternativ könnte ich empfehlen, dass Du die Festplatte mit einem passenden Kabel per USB an einen Rechner anschließt und daraus eine virtuelle Maschine machst...
Ich könnte mir vorstellen, wenn DOS als VM-Client läuft, dass dann durch das "Umbiegen" jeglicher Befehle das Hostbetriebssystem in der Lage wäre zu drucken?
Was meinst Du? Ich hoff mal, dass ich mich rel. verständlich ausgedrückt habe
Gruß
Markus
Morgen!
So ein ähnliches Problem habe ich vor kurzem auch gehabt.
Die Lösung habe ich in dem Programm DOSBox gefunden.
Es stellt auf einfache Art ein "richtiges" DOS unter Windows zur Verfügung und lässt sich über eine Config-Datei auf die eigenen Bedürfnisse anpassen.
Vor allem in der "erweiterten" Version mit Namen DOSBox Megabuild 5 lassen sich Druckbefehle ganz einfach auf die unter Windows installierten Drucker übertragen.
Hier der Link:
http://home.arcor.de/h-a-l-9000/
MfG
So ein ähnliches Problem habe ich vor kurzem auch gehabt.
Die Lösung habe ich in dem Programm DOSBox gefunden.
Es stellt auf einfache Art ein "richtiges" DOS unter Windows zur Verfügung und lässt sich über eine Config-Datei auf die eigenen Bedürfnisse anpassen.
Vor allem in der "erweiterten" Version mit Namen DOSBox Megabuild 5 lassen sich Druckbefehle ganz einfach auf die unter Windows installierten Drucker übertragen.
Hier der Link:
http://home.arcor.de/h-a-l-9000/
MfG
Zitat von @TheRoyalty:
Ich hatte gerade einen ellenlangen Beitrag formuliert und kam dann aus Versehen auf einen der "Aktuelle Fragen"-Links im
unteren Bereich. Verdammtes Touchpad. Also nochmal, und entschuldigt, falls ich nicht ganz so elaboriert antworte:
Danke ersteinmal für die Antworten.
Gibt es eine Möglichkeit mitzuloggen, welche Schnittstellen ein Programm anspricht? Bzw. könnte man ein solches Programm
schreiben? Dann könnte ich mit Sicherheit sagen, ob die reelle LPT1 Schnittstelle angesprochen wird. Die
Programmdokumentation ist sehr löchrig und nicht hilfreich.
ja. sysinternals PortMon ist hierfür sicherlich passend. http://technet.microsoft.com/de-de/sysinternals/bb896644.aspxIch hatte gerade einen ellenlangen Beitrag formuliert und kam dann aus Versehen auf einen der "Aktuelle Fragen"-Links im
unteren Bereich. Verdammtes Touchpad. Also nochmal, und entschuldigt, falls ich nicht ganz so elaboriert antworte:
Danke ersteinmal für die Antworten.
Gibt es eine Möglichkeit mitzuloggen, welche Schnittstellen ein Programm anspricht? Bzw. könnte man ein solches Programm
schreiben? Dann könnte ich mit Sicherheit sagen, ob die reelle LPT1 Schnittstelle angesprochen wird. Die
Programmdokumentation ist sehr löchrig und nicht hilfreich.
Das DOS ist im Moment eine Eingabeaufforderung von Windows 7, was, wenn ich das richtig verstehe, ja ohnehin schon eine Emulation
ist. Schlägst du vor ein Windows 7 in einer VM laufen zu lassen, oder ein natives DOS?
Ich schlage vor, dass Du das native DOS in einer virtuellen Maschine laufen lässt. Hierfür zwei Fallbeispiele:
1. Bau die Festplatte aus und sichere sie mit passendem USB to IDE/SATA Kabel und mit Hilfe von z.B. Acronis True Image in ein Image File. Dieses Image File kannst Du dann mit der Boot CD in die virtuelle Maschine wieder zurückbringen... einfach die umgekehrte Reihenfolge.
2. Erstelle eine neue virtuelle Maschine mit VMware/VirtualBox/etc. und installiere dort dein DOS und übernehme händisch (wie auch immer) die Daten ...
Du brauchst dir normalerweise um PortMon keine Gedanken mehr machen, sobald du den physikalischen DOS Rechner in eine virtuelle Maschine umgewandelt hast... in der virtuellen Maschine sollten ebenfalls serielle und parallele (virtuelle) Anschlüsse vorhanden sein... und diese Anschlüsse wiederrum kannst du dann von der virt. Maschine auf die phys. Maschine "mappen"...
Bei der DOSBox fehlt mir die Möglichkeit, gewisse Einstellungen, die ich vornehmen muss, vorzunehmen. Ich muss die
Autoexec.bat um den Wert "SET CLIPPER=F99" erweitern, und in der msconfig Files auf 100 erhöhen. Gibt es dir
Möglichkeit in DOSBox? Ich habe dazu nichts finden können, und ohne diese Einstellungen gibt mir das Programm Fehler.
Ich hoffe auf weitere Antworten,
Gruß
Viel Erfolg
Abend!
Jede DOS-Eingabeaufforderung ist "emuliert", egal unter welchem Windows.
Aber so wie ich das nun sehe, brauchst du auch genau so ein emuliertes DOS, da du ja die Autoexec.bat editieren musst...
Ich habe zwar mit solchen in Clipper geschriebenen Programmen noch nichts zu tun gehabt, aber wenn ich das recht mitbekommen habe, basiert dies auf dBase-Dateien, welche du ja auch z.B. in Access importieren könntest.
Ansonsten wäre vermutlich der XP-Mode von Windows 7 etwas für dich, vorausgesetzt du verwendest die Professional, Enterprise oder Ultimate Edition.
http://blog.tim-bormann.de/inoffizielle-anleitung-windows-7-xp-mode.htm ...
Viel Erfolg!
Jede DOS-Eingabeaufforderung ist "emuliert", egal unter welchem Windows.
Aber so wie ich das nun sehe, brauchst du auch genau so ein emuliertes DOS, da du ja die Autoexec.bat editieren musst...
Ich habe zwar mit solchen in Clipper geschriebenen Programmen noch nichts zu tun gehabt, aber wenn ich das recht mitbekommen habe, basiert dies auf dBase-Dateien, welche du ja auch z.B. in Access importieren könntest.
Ansonsten wäre vermutlich der XP-Mode von Windows 7 etwas für dich, vorausgesetzt du verwendest die Professional, Enterprise oder Ultimate Edition.
http://blog.tim-bormann.de/inoffizielle-anleitung-windows-7-xp-mode.htm ...
Viel Erfolg!
Moin,
bevor das hier in eine Emulationsorgie bzw. einen Virtualisierungsmarathon ausartet, mal wieder back to the roots .
Was macht denn das Programm bzw. was macht es nicht?
Stellt es einfach nur die Druckausgabe ein (angeforderte Drucke verschwinden im EDV-Nirwana) oder kommt anstelle von lesbarem Text nur Sonderzeichen-Müll?
Was für ein Drucker ist angeschlossen?
Gibt es das Programm evtl. noch im Quellcode (prg-Dateien), so daß man das neu compilieren könnte?
Um welche Clipper-Version handelt es sich?
Clipper stelt von sich aus Grundfunktionen bereit, die u.a. eine Druckausgabe ermöglichen. Mit entsprechenden Zusatzbibliotheken lassen sich auch hardwarenahe Funktionen einbinden, z. Bsp um direkt mit der LPT-Schnittstelle zu kommunizieren. Das ist aber a) nicht trivial und b) blähen zusätzliche Bibliotheken die endgültige EXE-Datei stark auf. Da Clipper eher auf der Semi-Professionellen Seite zu finden ist, gehe ich mal nicht davon aus, daß sich der Programmierer die Mühe gemacht hat, das Programm mit hardwarenahen Funktionen auszustatten. Insofern sollten also die Standardfunktionen für die Druckausgabe genutzt worden sein.
Wenn all das zu keinem Ergebnis führt, bleibt noch, wie bereits @Kaltom geschrieben hat, der weg, die dBase Datenbanken nach Access oder Excel zu importieren und die Auswertungen (Druckausgaben) über die dort zur Verfügung gestellten Berichte neu zu gestalten. Das ist evtl. sehr arbeitsaufwendig, aber wenn die Daten an ders nicht zu bekommen sind...
Gruß J chem
bevor das hier in eine Emulationsorgie bzw. einen Virtualisierungsmarathon ausartet, mal wieder back to the roots .
Was macht denn das Programm bzw. was macht es nicht?
Stellt es einfach nur die Druckausgabe ein (angeforderte Drucke verschwinden im EDV-Nirwana) oder kommt anstelle von lesbarem Text nur Sonderzeichen-Müll?
Was für ein Drucker ist angeschlossen?
Gibt es das Programm evtl. noch im Quellcode (prg-Dateien), so daß man das neu compilieren könnte?
Um welche Clipper-Version handelt es sich?
Clipper stelt von sich aus Grundfunktionen bereit, die u.a. eine Druckausgabe ermöglichen. Mit entsprechenden Zusatzbibliotheken lassen sich auch hardwarenahe Funktionen einbinden, z. Bsp um direkt mit der LPT-Schnittstelle zu kommunizieren. Das ist aber a) nicht trivial und b) blähen zusätzliche Bibliotheken die endgültige EXE-Datei stark auf. Da Clipper eher auf der Semi-Professionellen Seite zu finden ist, gehe ich mal nicht davon aus, daß sich der Programmierer die Mühe gemacht hat, das Programm mit hardwarenahen Funktionen auszustatten. Insofern sollten also die Standardfunktionen für die Druckausgabe genutzt worden sein.
Wenn all das zu keinem Ergebnis führt, bleibt noch, wie bereits @Kaltom geschrieben hat, der weg, die dBase Datenbanken nach Access oder Excel zu importieren und die Auswertungen (Druckausgaben) über die dort zur Verfügung gestellten Berichte neu zu gestalten. Das ist evtl. sehr arbeitsaufwendig, aber wenn die Daten an ders nicht zu bekommen sind...
Gruß J chem
Moin,
jep, nach der Beschreibung "Wenn ich den Druckbefehl gebe, springt es so ins Menü zurück, als wäre der Druckauftrag abgeschickt worden" sieht es so aus, als ob das Programm "sauber" seinen Druckauftrag absolviert hat, der Drucker aber nichts mit den Druckdaten anfangen kann.
Wenn ich die technischen Daten von dem MP 610 richtig gelesen habe, verfügt der nur über einen USB-Anschluß und nicht über einen Parallel-Port. Wie ist der Drucker denn nun tatsächlich angeschlossen? Nach meinem Kenntnisstand brauchst Du für das Clipper-Programm einen Drucker mit echtem Parallel-Port. falls Du einen HP Laserjet III oder ähnliches Modell hast, häng den mal an den Rechner. Es wird vermutlich auch ein Laserdrucker funktionieren, der einen Laserjet per Emulation darstellen kann bzw. auf dessen Steuerzeichen eingestellt werden kann(Kyocera FS-1000, FS 1010, FS-1020D, 1030D und Artverwandte).
Dass Du problemlos aus der DOS-Box heraus drucken kannst, hat nur soweit Aussagekraft, als daß dadurch höchstens bestätigt wird, daß ein Drucker angeschlossen ist. In Deinem Beispiel wird ein Buchstabe "L" gedruckt. Du hast dem Drucker aber weder mitgeteilt, wo auf dem Blatt er dieses tun soll, in welcher Schriftart er diesen Buchstaben auf das Papier bringen soll oder in welcher Schriftbreite er den Buchstaben drucken soll. All das wird aber (vermutlich) in dem Clipper-Programm geschehen. Dazu werden sog. Steuersequenzen abgesetzt, die der angeschlossene Drucker dann als "Schriftart mit 10 Punkt" oder "Schriftart Courier" interpretiert und entsprechend umsetzt. Da es unterschiedliche Druckerhersteller gibt, sind für gleiche Funktionen evtl. andere Steuerzeichen notwendig. Wenn also ein IBM-Drucker mit Espson-Steuerzeichen gefüttert wird, ist das Ergebnis nicht immer das, was erwartet wird.
Die Clipper-Version sollte im Klartext in der EXE-File stehen.
Den Test mit den Sysinternal-Tools kannst Du Dir meiner Meinung nach schenken. Das Tool prüft die von einem Programm angesprochenen Ports ab. Wenn das Programm also Drucken will, wird der Druckerport angesprochen. Egal, ob dies programmintern durch Routinen initialisiert wird, die mit der Hardware direkt kommunizieren oder dazu die "eingebauten" Programmfunktionen nutzen.
Wenn Du die Möglichkeit hast, einen Drucker anzuschließen, der den empfangenen Datenstrom "dumpen" kann, also die Steuerzeichen und die Nutzdaten in darstellbarer Form zu Papier bringt, dann kannst Du das mal probieren. Dann sieht man evtl. schon mal, ob überhaupt was am Drucker ankommt oder ob die Daten schon vorher im Nirwana verschwinden.
Hat der MP 610 eine Sleep-Funktion (nach einer einstellbaren Zeit schaltet der Drucker ab, bleibt aber weiterhin Standby)? Dann lass ihn mal "schlafen" gehen und schick dann was auf den Drucker. Wenn der MP 610 jetzt aufwacht, kommt jedenfalls schon mal was am Drucker an. Ich tippe weiterhin darauf, daß der angeschlossene Drucker nichts mit den Druckdaten anfangen kann und daher die Arbeit nicht aufnimmt. Wie gesagt: Alte Software bedingt zumeist auch alte Hardware.
Gruß J chem
jep, nach der Beschreibung "Wenn ich den Druckbefehl gebe, springt es so ins Menü zurück, als wäre der Druckauftrag abgeschickt worden" sieht es so aus, als ob das Programm "sauber" seinen Druckauftrag absolviert hat, der Drucker aber nichts mit den Druckdaten anfangen kann.
Wenn ich die technischen Daten von dem MP 610 richtig gelesen habe, verfügt der nur über einen USB-Anschluß und nicht über einen Parallel-Port. Wie ist der Drucker denn nun tatsächlich angeschlossen? Nach meinem Kenntnisstand brauchst Du für das Clipper-Programm einen Drucker mit echtem Parallel-Port. falls Du einen HP Laserjet III oder ähnliches Modell hast, häng den mal an den Rechner. Es wird vermutlich auch ein Laserdrucker funktionieren, der einen Laserjet per Emulation darstellen kann bzw. auf dessen Steuerzeichen eingestellt werden kann(Kyocera FS-1000, FS 1010, FS-1020D, 1030D und Artverwandte).
Dass Du problemlos aus der DOS-Box heraus drucken kannst, hat nur soweit Aussagekraft, als daß dadurch höchstens bestätigt wird, daß ein Drucker angeschlossen ist. In Deinem Beispiel wird ein Buchstabe "L" gedruckt. Du hast dem Drucker aber weder mitgeteilt, wo auf dem Blatt er dieses tun soll, in welcher Schriftart er diesen Buchstaben auf das Papier bringen soll oder in welcher Schriftbreite er den Buchstaben drucken soll. All das wird aber (vermutlich) in dem Clipper-Programm geschehen. Dazu werden sog. Steuersequenzen abgesetzt, die der angeschlossene Drucker dann als "Schriftart mit 10 Punkt" oder "Schriftart Courier" interpretiert und entsprechend umsetzt. Da es unterschiedliche Druckerhersteller gibt, sind für gleiche Funktionen evtl. andere Steuerzeichen notwendig. Wenn also ein IBM-Drucker mit Espson-Steuerzeichen gefüttert wird, ist das Ergebnis nicht immer das, was erwartet wird.
Die Clipper-Version sollte im Klartext in der EXE-File stehen.
Den Test mit den Sysinternal-Tools kannst Du Dir meiner Meinung nach schenken. Das Tool prüft die von einem Programm angesprochenen Ports ab. Wenn das Programm also Drucken will, wird der Druckerport angesprochen. Egal, ob dies programmintern durch Routinen initialisiert wird, die mit der Hardware direkt kommunizieren oder dazu die "eingebauten" Programmfunktionen nutzen.
Wenn Du die Möglichkeit hast, einen Drucker anzuschließen, der den empfangenen Datenstrom "dumpen" kann, also die Steuerzeichen und die Nutzdaten in darstellbarer Form zu Papier bringt, dann kannst Du das mal probieren. Dann sieht man evtl. schon mal, ob überhaupt was am Drucker ankommt oder ob die Daten schon vorher im Nirwana verschwinden.
Hat der MP 610 eine Sleep-Funktion (nach einer einstellbaren Zeit schaltet der Drucker ab, bleibt aber weiterhin Standby)? Dann lass ihn mal "schlafen" gehen und schick dann was auf den Drucker. Wenn der MP 610 jetzt aufwacht, kommt jedenfalls schon mal was am Drucker an. Ich tippe weiterhin darauf, daß der angeschlossene Drucker nichts mit den Druckdaten anfangen kann und daher die Arbeit nicht aufnimmt. Wie gesagt: Alte Software bedingt zumeist auch alte Hardware.
Gruß J chem
Moin,
Jep, Dein erster "Test" (viele "komische" Zeichen über mehrere Zeilen und Seiten verteilt) deutet genau darauf hin, daß der Drucker mit den falschen Steuerzeichen beschickt wurde. Insoweit sollte dann auch die die Einstellung im Druckprozessor von Windows OK gehen. Demnach kann auch davon ausgegangen werden, daß am Drucker "etwas" ankommt. Sieht also bis hierher schon mal nicht schlecht aus.
Ich gehe weiterhin jetzt mal davon aus, daß Dein Rechner nicht mehr über einen Paralle-Port verfügt, da Du über einen Adapter Parallel-zu-USB nachdenkst.
Zur Umleitung von Druckausgaben aus der DOS-Box habe ich mal das hier gefunden. Ist eine Try-before-Buy Version, 30 Tage frei nutzbar. Das sollte für einen Test ausreichend sein.
Der Screenshot sieht schon recht vielversprechend aus. Ich würde das so interpretieren: Über die Auswahlbox kann der angeschlossene Drucker ausgewählt werden. Wie ich weiter oben schon geschrieben habe, gibt es für bestimmte Funktionen je Drucker unterschiedliche Steuersequenzen. Je nachdem, wie der Programmierer das jetzt gelöst hat, kann man nun entweder nur die Druckfunktionen auswählen und die zugehörigen Steuersequenzen sind fest im Programm hinterlegt. Oder nach der Anwahl der Druckfunktion kann man die zugehörigen Steuersequenzen manuell eintragen und die werden im Programm gespeichert. Was nun Fakt ist, gibt der Screenshot leider nicht her..
Wenn Du noch weist, welcher Drucker da eingestellt war, wäre es sinnvoll, diese Einstellung noch einmal wiedereinzustellen.
Ob der Canon-Drucker aus der Anwendung kompatibel mit dem eingesetzten MP610 ist, wage ich zu bezweifeln.
Welche Drucker sind denn sonst noch gelistet in dem Programm?
Und wie sind die Steuersequenzen hinterlegt, fest im Programm oder frei zur Eingabe?
Wenn Du also die Druckausgabe in eine Datei umleiten würdest, könnte man mal in die Datei reinschauen und sich die Steuersequenzen ansehen. Evtl. ergibt sich daraus schon eine Aussage, welcher Druckertyp eingestellt werden soll.
BTW: Hast Du noch Ausdrucke, die auf dem alten Rechner erstellt wurden? Damit man vergleichen kann, wo es noch klemmt.
Gruß J chem
Jep, Dein erster "Test" (viele "komische" Zeichen über mehrere Zeilen und Seiten verteilt) deutet genau darauf hin, daß der Drucker mit den falschen Steuerzeichen beschickt wurde. Insoweit sollte dann auch die die Einstellung im Druckprozessor von Windows OK gehen. Demnach kann auch davon ausgegangen werden, daß am Drucker "etwas" ankommt. Sieht also bis hierher schon mal nicht schlecht aus.
Ich gehe weiterhin jetzt mal davon aus, daß Dein Rechner nicht mehr über einen Paralle-Port verfügt, da Du über einen Adapter Parallel-zu-USB nachdenkst.
Zur Umleitung von Druckausgaben aus der DOS-Box habe ich mal das hier gefunden. Ist eine Try-before-Buy Version, 30 Tage frei nutzbar. Das sollte für einen Test ausreichend sein.
Der Screenshot sieht schon recht vielversprechend aus. Ich würde das so interpretieren: Über die Auswahlbox kann der angeschlossene Drucker ausgewählt werden. Wie ich weiter oben schon geschrieben habe, gibt es für bestimmte Funktionen je Drucker unterschiedliche Steuersequenzen. Je nachdem, wie der Programmierer das jetzt gelöst hat, kann man nun entweder nur die Druckfunktionen auswählen und die zugehörigen Steuersequenzen sind fest im Programm hinterlegt. Oder nach der Anwahl der Druckfunktion kann man die zugehörigen Steuersequenzen manuell eintragen und die werden im Programm gespeichert. Was nun Fakt ist, gibt der Screenshot leider nicht her..
Wenn Du noch weist, welcher Drucker da eingestellt war, wäre es sinnvoll, diese Einstellung noch einmal wiedereinzustellen.
Ob der Canon-Drucker aus der Anwendung kompatibel mit dem eingesetzten MP610 ist, wage ich zu bezweifeln.
Welche Drucker sind denn sonst noch gelistet in dem Programm?
Und wie sind die Steuersequenzen hinterlegt, fest im Programm oder frei zur Eingabe?
Wenn Du also die Druckausgabe in eine Datei umleiten würdest, könnte man mal in die Datei reinschauen und sich die Steuersequenzen ansehen. Evtl. ergibt sich daraus schon eine Aussage, welcher Druckertyp eingestellt werden soll.
BTW: Hast Du noch Ausdrucke, die auf dem alten Rechner erstellt wurden? Damit man vergleichen kann, wo es noch klemmt.
Gruß J chem