mich beschäftigt seit einiger Zeit ein Problem das ich nicht nachvollziehen kann. Vielleicht hat jemand von euch einen Tip für mich.
Ich habe HBPrintPDF / QuickPDFDll0721 / ot4xb ( 1.5.13.8 ) in ein Bestellsystem eingebaut. Mit den HBPrintPDF Funktionen erstelle ich zuerst den Packzettel eines Auftrags in eine PDF Datei, diese wird dann archiviert. Danach wird diese PDF Datei noch automatisch gedruckt. Das ganze Funktioniert in ca. 95 von 100 Fällen einwandfrei.
Die Druckfunktion ist recht einfach:
Code: Alles auswählen
function printoutPDF( fName , cDruckername ) // Aktuelle Bestellung aus webbest nach Bearbeitung drucken
local oObjPDF
if !file( fname )
info(" PDF-File nicht vorhanden...",.t.)
else
oObjPDF := hbPrintPDF():new():create() // Serial imSource von hbPrint eingebaut
if oObjPDF:IsOK
oObjPDF:loadFromFile( fname )
if cDruckername = NIL
cDruckername := oObjPDF:GetDefaultPrinterName()
endif
oObjPDF:printDocument( cDruckername ,1 , oObjPDF:PageCount(), oObjPDF:PrintOptions(1,1,"PDF-Out") )
oObjPDF:RemoveDocument( oObjPDF:GetDocumentID() )
endif
oObjPDF:destroy()
endif
return(nil)
Die Version der UNIDRV ist z.B.: 0.3.6001.22116
Das PDF wird immer korrekt gedruckt.
RemoveDocument kann auch weggelassen werden, das Problem bleibt.
Das Problem tritt bei allen verwendeten PC's auf, die sind z.Z. sehr unterschiedlichen Alter's und Configuration. (alle XP SP3)
Ohne die Druckfunktion, wenn also nur das PDF im Programm erstellt wird, tritt das Problem nicht auf.
Die die in diesem Programm eingesetzte HBPrintPDF-Klasse ist bis auf den Einbau meiner Serial(Key) im Originalzustand.
Was könnte hier wohl schief laufen?
Grüsse Carlo