poldibf
Goto Top

Aus VB-6 Zugriff auf anderen Drucker ...

Hallo, es geht um das ältere VB-6, wo Microsoft einen Fehler gemacht hat.
Das verwendete OS ist zweitrangig, hier aber Win-XP

Grundsätzlich gibt es für den End-Anwender, die Möglichkeit über die Systemsteuerung einen als bislang angegebenen Standarddrucker zu verändern, indem man einfach nur einen anderen Drucker, z.B. einen A3-Drucker, für einen nächsten Druckauftrag als Standarddrucker erklärt und schon läuft die Angelegenheit ohne Schwierigkeit.
In dem von mir aber erstellten sog. Kellnerprogramm muß diese Änderung automatisch inerhalb des Programms erfolgeb, damit die bonierten Speisen und Getränke als BON-Bestellung direkt zu einem Küchendrucker, einem Bardrucker oder bei einer Rechnungsanforderung, weil der Gast zahlen will, zu einem Kellnerdrucker umgeleitet wird. Dem Bedienpersonal kann es nicht zugemutet werden, immer wieder einen anderen Drucker über diesen Weg zum Standarddrucker zu erheben. Der aktuelle Standarddrucker muß also innerhalb des Programms seinen Status verlieren, damit ein anderer Drucker diesen "Standard"-Status erhält.

Hierfür gibt es innerhalb von VB-6 den Befehl:

Dim prnprntr As Printer
'prnprntr = KDrucker 'hier wäre dann der Küchendrucker gemeint, der in dieser Variablen enthalten ist.
'Set Printer = prnprntr
For Each prnprntr In Printers
' 'hier unten müssen die beiden Drucker für Kü und Sch. vorgefragt werden...
Drucker(X) = prnprntr 'wobei dieses X für die Druckker-Array-Nummer steht in das die Ergebnisse der
'For Each-Routine geschrieben wurden.
DoEvents

If prnprntr.DeviceName = "EPSON TM-T88IIR Partial cut" Then
...soll dieser Drucker
Set Printer = prnprntr

'Stop
DoEvents
usw.....

Dieser Befehl "Set Printer = prnprntr führt permanent zum Fehler!
Die Variablen wurden ordnungsgemäß dimensioniert und diesbezüglich wurde alles x-mal kontrolliert.
Die hier nur unvollständig angegebene Codierung kann natürlich so nicht funktionieren, das ist klar.
Es geht nur einzig und allein um den Set-Befehl.

Nach etlichen Versuchen, stellte ich irgendwo fest, ich weiß nicht mehr wo, daß MIcrosoft hierfür einen Programmfehler eingeräumt hat.
Der Schriftwechsel über E-Mail oder das Ergebnis durch Suche in der MSDN liegt mir nicht mehr vor.
Ich habe aber schwach in Erinnerung, daß ich hierzu irgendeine, sehr kompliziert anmutende Routine genannt bekam, in der auch Programmierung für den "kernel" angegeben war. Da wollte ich lieber die Finger von lassen.

Nun habe ich mich ein wenig umgehört und es könnte sein, dass das aber die Codeangaben für ein zu fertigendes OCX-Modul, einer OCX als Ersatz für die nicht funktionierende Set-Routine in VB-6 sein könnte, die dann einfach nur in das Programm über die Komponenten eingebunden wird!!!???.

Hat hier jemand eine Idee, oder noch besser kennt jemand eine OCX, mit der ich diesen gewünschten Zugrif dann realisieren kann?
Mit sehr freundlichen Grüßen
PoldiBF
Bin dringend auf Hilfe angewiesen.
P.S. Ich weiß, daß es da die Möglichkeit von OPOS von SEIKO-EPSON gibt, aber die möchte ich nicht anwenden, weil hier möglicherweise der Enduser überfordert sein könnte, auf den dann doch etwas mehr als normal zukäme!

Content-Key: 166653

Url: https://administrator.de/contentid/166653

Printed on: April 19, 2024 at 22:04 o'clock