9. August 2018 14:19
Hallo,
wir haben ein C#-Programm im Einsatz, welches über Webservice mit Navision kommuniziert.
Es werden damit Artikel zugebucht und Etiketten ausgedruckt.
Zum Drucken verwende ich Foxit-Reader, welches auf dem Tier-Server installiert ist.
Das funktioniert auch ziemlich gut. Manchmal läuft dieses mehrere Tage ohne Probleme. Aber ist irgendeinen Grund funktioniert es dann plötzlich nicht mehr.
Das PDF wird zwar noch am Server im entsprechenden User-Verzeichnis erstellt, auch der Foxit-Prozess startet noch, aber es kommt nicht mehr in die Drucker-Queue.
Wenn dies auftritt ist immer ein Foxit-Reader Process am Tier-Server aktiv. Und man kann den Prozess auch nicht im Task-Manager löschen, hängt scheinbar irgendwie am Navision Dienst. Kann das Problem nur mit einem Neustart des Servers beheben.
Bei normalen Verlauf verschwindet der Prozess nach 10 Sekunden. (Ist in der CU so definiert).
Habt ihr eine Idee wie ich herausfinden könnte, warum dieser Prozess nicht mehr verschwindet oder wie könnte ich noch mittels Webservice (ohne Forxit-Reader) die Etiketten drucken.
Hier noch der Code von Navision:
- Code:
PrintPDFFoxitReader(FileName : Text[250];Printer : Text[100])
//Test
//FoxitReader := 'C:\Program Files\Foxit Software\Foxit Reader\FoxitReader.exe';
//ERROR('%1',Printer);
FoxitReader := 'C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe';
StartProcess(FoxitReader,STRSUBSTNO('-t "%1" "%2"',FileName,Printer));
StartProcess(FileName : Text[250];Arguments : Text[250])
Process := Process.Process();
ProcessInfo := ProcessInfo.ProcessStartInfo(FileName,Arguments);
//ERROR('%1 %2',FileName,Arguments);
Process.StartInfo := ProcessInfo;
Process.Start();
Process.WaitForExit(10000); // Wait max. 10 sec
Danke und lg
stony