Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Erstellen von PDF aus Service funktioniert nicht (https://www.delphipraxis.net/207859-erstellen-von-pdf-aus-service-funktioniert-nicht.html)

dephinix 10. Mai 2021 09:45

Erstellen von PDF aus Service funktioniert nicht
 
Hallo allerseits,
ich hätte da ein kleines Problem...

Ein Service (TService) ruft ein Modul auf, welches ein PDF generieren soll. Der Aufruf des Moduls erfolgt aus dem Service über ShellExecuteEx().

Beim Aufruf des Moduls läuft es dann in einen Timeout. Das Modul startet und initialisiert sich, was über Logfiles die es selbst schreibt nachvollzogen werden kann.

Grundsätzlich stimmen alle Pfade, das Modul funktioniert über die Kommandozeile aufgerufen für sich korrekt.
Auch wenn der Service als VCL-Anwendung kompiliert ist funktioniert der Aufruf des Moduls daraus korrekt.

Betriebssystem ist Windows Server 2019 Standard.

Der Service läuft unter dem Systemkonto, der Datenaustausch zwischen Dienst und Desktop ist zugelassen.

Ein Drucker ist installiert-

In TService wurde die Eigenschaft interactiv auf true gesetzt.

Das Modul selbst ist eine VCL-Anwendung.

Hat jemand eine Idee in welche Richtung ich nach dem Fehler suchen kann?

Viele Grüße
Udo

Bernhard Geyer 10. Mai 2021 09:51

AW: Erstellen von PDF aus Service funktioniert nicht
 
Zitat:

Datenaustausch zwischen Dienst und Desktop ist zugelassen.
ist die Checkbox immer noch da?
Das geht doch schon seit Windows Vista nicht mehr.

dephinix 10. Mai 2021 09:54

AW: Erstellen von PDF aus Service funktioniert nicht
 
Ja, aber es muss doch möglich sein, aus einem Service heraus ein PDF zu generieren?

Bernhard Geyer 10. Mai 2021 10:00

AW: Erstellen von PDF aus Service funktioniert nicht
 
Zitat:

Zitat von dephinix (Beitrag 1488999)
Ja, aber es muss doch möglich sein, aus einem Service heraus ein PDF zu generieren?

Klar ist es das.
Aber es gibt ja nicht nur einen Weg mit "PDF erstellen".
D.h. irgendwo bei deinem Ablauf

Zitat:

Beim Aufruf des Moduls läuft es dann in einen Timeout. Das Modul startet und initialisiert sich, was über Logfiles die es selbst schreibt nachvollzogen werden kann.
Da wir nicht wissen was du machst um ein PDF zu erstellen, wird es schwierig hier weiter zu helfen.
Kommt im programm irgendeine MessageBox.

dephinix 10. Mai 2021 10:05

AW: Erstellen von PDF aus Service funktioniert nicht
 
Nein, eine Messagebox ist zwar nicht vorgesehen aber eine zum Test eingebaute erscheint nicht.
Was ja wohl auch seit Vista nichtmehr funktionieren soll...

dephinix 10. Mai 2021 10:14

AW: Erstellen von PDF aus Service funktioniert nicht
 
Wie wäre denn eine korrekte vorgehensweise unter einer aktuellen Windows Version?
Unter einer älteren Serverversion (Small Buisiness Server 2011) funktionierte unser System so noch korrekt, aber irgendwann muss ja auch mal der Server ein Update erfahren.

HolgerX 10. Mai 2021 10:58

AW: Erstellen von PDF aus Service funktioniert nicht
 
Hmm..

Das geht schon, ist nur aufwändig.

Die Installation von Druckern ist in einem 'System'-Konto nicht möglich, da dieses kein Profil hat.

Somit musst Du einen eigenen User anlegen, diesem den Drucker hinzufügen und dann deinen Dienst mit dessen Benutzeranmeldung laufen lassen. Eventuell musst Du dann nur diesem noch diverse Windows-Zugriffsrechte geben, je nachdem was der Dienst macht.

Dann sind sogar Netzwerk-Drucker möglich...

Bedenke, dass seit Vista keine 'Fensterkommunikation' zwischen Diensten und User mehr vorgesehen sind!
Somit werden auch keine Meldungsfenster oder ähnliches mehr angezeigt.

Deshalb sollten alle Dienste grundsätzlich Fensterlos sein!

Bernhard Geyer 10. Mai 2021 11:22

AW: Erstellen von PDF aus Service funktioniert nicht
 
Die PDF-Erstellung läuft über einen PDF-Druckertreiber?

Wieso nicht direkt ein (Delphi-)Komponenten nehmen, die direkt PDFs erstellt?

dephinix 10. Mai 2021 12:00

AW: Erstellen von PDF aus Service funktioniert nicht
 
Ich habe jetzt nochmal einen neuen User angelegt und den Dienst unter diesem gestartet.
Immer noch keine PDF-Ausgabe möglich.

dephinix 10. Mai 2021 12:06

AW: Erstellen von PDF aus Service funktioniert nicht
 
Zitat:

Wieso nicht direkt ein (Delphi-)Komponenten nehmen, die direkt PDFs erstellt?
Das würde bedeuten einen recht umfangreichen Bericht neu zu implementieren.
Verwendet wir in diesem Modul die Komponente
Delphi-Quellcode:
AllInTheBox


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz