ich drucke aus einer Xbase Anwendung 1 - x Dateien über die API Funktion auf den Standarddrucker.
Code: Alles auswählen
******************************************************************************
FUNCTION RunDefaultShellProg( cFile, cMode, nShow )
* Ein Standardprogramm öffnen oder über ein Standardprogramm drücken
* Parameter: cFile -> Datei welche geöffnet oder gedruckt werden soll
* cMode -> SHELL_OPEN für Datei öffnen
* -> SHELL_PRINT für Datei drucken
* nShow -> SW_MAXIMIZE
* -> SW_MINIMIZE
* Return : NIL
******************************************************************************
LOCAL nRet := 0
DO CASE
CASE cMode == SHELL_PRINT
// Druck im Hintergrund starten
nRet := WinAPIPrint( cFile, , , nShow )
IF ! (nret > 32)
MsgBox( ... )
ENDIF
CASE cMode == SHELL_OPEN
...
ENDCASE
RETURN NIL
Auf meinem Rechner kann ich die Druckaufträge einfach hintereinander los schicken. Auf meinem Laptop brauche ich unbedingt eine Pause zwischen dem "Abfeuern" der Druckaufträge. Es müssen so ca. 5 Sec. sein - ansonsten "verschluckt" sich der Druck und es werden von z.B. 15 Druckaufträgen nur 5 gedruckt.
Es scheint so zu sein, dass das ganze Rechner- / Hardwareabhängig ist (das habe ich zumindest bis jetzt beobachtet). Langsamer Rechner = größere Pause zwischen den Druckaufträgen, schneller Rechner = kürzere (bis keine) Pause.
Es ist natürlich absolut unproduktiv (und nicht sicher) eine feste Pause zwischen den Druckaufträgen einzubauen. Deshalb frage ich mich ob ich nicht den Druckstatus abfragen kann(?)
Im Prinzip das selbe Vorgehen wie bisher nur mit dem Unterschied dass ich nach jedem Druckauftrag abwarten will das dieser ausgeführt ist bevor ich nächsten abschicke. Ist das irgendwie möglich?
Gruß,
Notloesung