Hallo zusammen!
In unserer Anwendung lesen wir Schächte des aktuellen Druckers aus. Das funktioniert (mittlerweile
) auch gut. Zur Feststellung der Anzahl rufen wir
Count := DeviceCapabilities(PChar(SomeDevice), PChar(SomePort), DC_BINNAMES, nil, nil);
auf. Das liefert nun bei einem unserer Kunden auf einem HP Deskjet 5400
Count = -1
zurück. Ich meine,
der Doku zu entnehmen, dass das ein Fehlercode ist. Leider steht finde ich in der Doku nichts, ob ich z.B. GetLastError aufrufen kann/darf/soll. Testhalber hab ich ein
Delphi-Quellcode:
if Count < 0 then
RaiseLastOSError;
eingebaut und kriege "Systemfehler. Code: 1722. Der RPC-Server ist nicht verfügbar."
Meine Fragen:
- Ist es überhaupt richtig, hier GetLastError/RaiseLastOSError aufzurufen?
- Könnt ihr mit der Fehlermeldung was anfangen? Google liefert Lösungen a la "Solange Treiber neu installieren, bis es geht.". Vielleicht wisst ihr was Konkreteres.