VB/API-Problem

Hi!

Ich programmiere ein Kassensystem unter Windows9x und muß für bestimmte Kassenfunktionen den Druck-Manager vom Windows umgehen, z.B. um Escape-Sequenzen zu senden. Dafür habe ich ein Routine, die mit einer Reihe von APIs aus der WINSPOOL.DRV arbeitet.

Die Routine arbeitet etwa so:

  • Aufruf mit Druckername und Druckbefehl (beides Textvariablen)
  • OpenPrinter (Druckername, DruckerHandle, 0)
  • StartDocPrinter (DruckerHandle, 1, StructDocInfo)
  • StartPagePrinter(DruckerHandle)
  • Writeprinter(DruckerHandle, DruckBefehl, Len(DruckBefehl), GeschriebeneZeichen)
  • EndPagePrinter(DruckerHandle)
  • EndDocPrinter(DruckerHandle)
  • ClosePrinter(DruckerHandle)

An allen meinen Testrechnern funktioniert diese Routine tadellos - bei einem Kunden steigt die Routine aber beim StartDocPrinter aus (Returnwert ist 0) und die Escape-Sequenz wird nicht an den Drucker bzw die Kassenschublade gesendet. Sende ich die Escape-Sequenz direkt aus dem DOS, funktioniert es aber! Wo kann der Fehler liegen?