Hi,
Netzwerkdrucker sind aus Sicht des Client-PC nie über USB angeschlossen, auf dem Server sehr selten, da USB Drucker meist nicht freigegeben werden können.
Ein solcher Fehler könnte auftauchen, wenn überhaupt kein Drucker in Windows definiert wurde (der letzte eventuell im Druckerordner gelöscht ?)
Wobei ich bei neueren Versionen immer Abfrage ob der Drucker erfolgreich definiert wurde und nötigenfalls eine Fehlermeldung abgebe.
Dies scheint hier aber auch der Fall zu sein, da ja ERRBOX aufgerufen wurde. Du hast offensichtlich eine ältere Version, da hier bei mir die Zeile 441 ERRBOX (aber mit richtigem Parameter) aufruft.
Grundsätzlich muss im Drucker-/Faxordner ein Drucker angelegt und als Standard definiert sein.
Wobei wenn du dir z.B. die Test.PRG ansiehst, dort steht (heute):
Code: Alles auswählen
oHBPrinter := MyHBPrinter():New():create()
if oHBPrinter:IsPrinterError()
...
so kann man schon im Anwendungsprogramm verhindern, dass das Druckfenster überhaupt geöffnet wird wenn überhaupt kein Printer verfügbar ist.
Intern verwende ich
um die installierten Drucker abzufragen und in Create übergebe ich den gewünschten oder nichts für den Standarddrucker. Du solltest auf die neueste Version von HBPrinter updaten und der Anwender soll prüfen ob überhaupt ein Windowsdrucker vorhanden ist. In deiner Anwendung solltest du die obige IF Abfrage einbauen, damit du selbst darauf reagieren kannst.