Forum: PC-Programmierung Serieller Port und MS Access. Port offen lassen?


von Martin K. (maart)


Lesenswert?

Ich möchte under MS Access einen Bondrucker über die serielle 
Schnittstelle in VBA ansteuern. Dazu benutze ich MSCOMM32.OCX. Der 
Drucker druckt auch wunderbar.
Jetzt habe ich mal eine grundsätzliche Frage: Ich übergebe einer 
Prozedur den Druckauftrag, diese öffnet den COM-Port, schiebt die Daten 
raus und schließt den Port wieder. Wie sollte man hier vorgehen: Beim 
Start der Anwendung den Port öffnen und vor jedem Druckauftrag prüfen, 
ob er noch offen ist, oder vor jedem Auftrag Port öffnen und danach 
gleich wieder schließen?


Gruß.

von Joerg (Gast)


Lesenswert?

Sinnigerweise sollte man unter Windows auch via Windows drucken.
Warum richtest du den Drucker nicht einfach als einen ein der an einer 
COM Schnittstelle hängt und schiebst ihm ein klassischen Access Report 
rüber?

Zu deiner Frage: Ich persönlich würde den COM Port vor jedem Auftrag 
öffnen und danach wieder schliessen.

mfg
Joerg

von Micha (Gast)


Lesenswert?

Hallo,

habe auch 'mal vor Jahren Bon- bzw. ähnliche Drucker aus MS-Access 
angsteuert.
Dabei habe ich zu Beginn der Druckroutine geprüft ob der Port "offen" 
ist.
Wenn nicht, dann Port öffnen und zu Ende der Druckroutine wieder 
schließen.

@Joerg
Manche Drucker können nicht als Windows-Drucker angesprochen werden, 
daher spezielle Ausgabe der Druckbefehle über COM.

Gruß Micha

von Joerg (Gast)


Lesenswert?

>@Joerg
>Manche Drucker können nicht als Windows-Drucker angesprochen werden,
>daher spezielle Ausgabe der Druckbefehle über COM.

ok, man lernt nie aus... Hab mich unter Windoof bisher nur mit 
Treiberversorgten Zebra-Druckern rumschlagen "dürfen". Aber auch die 
sind manchmal sehr gewöhnungsbedürftig :-)

von Peter II (Gast)


Lesenswert?

meist lassen sich diese Drucker auch über windows ansteuern, aber dann 
sind es bitmap drucker. Man kann dann soetwas wie barcode nicht einfach 
nutzen. Zu einen Drucker ist auch eine DLL dabei, diese nutzt dann den 
Windows treiber und "tunnelt" dann spezielle Befehle - das ist meines 
wissen die sauberste lösung.

Wenn der Drucker aber das nicht bietet, würde ich den Port öffnen und 
schließen wie du es jetzt schon machst. Das hat den Vorteil das auch 
eine andere Anwendung den Drucker noch nutzen kann. Der Com-Port nutzt 
sich nicht ab wenn man ihn merfach öffnen und schließt.

von Martin K. (maart)


Lesenswert?

Vielen Dank für Eure Antworten. Ich werde es dann weiter so machen: Port 
auf, drucken, Port zu.

Nebenbei: Es ist ein Epson Kassendrucker, der wird mit ESC/POS-Sequenzen 
angesteuert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.