Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fehlermeldung aus Dienst heraus. (https://www.delphipraxis.net/120329-fehlermeldung-aus-dienst-heraus.html)

QuickAndDirty 9. Sep 2008 11:57


Fehlermeldung aus Dienst heraus.
 
Hallo,
es geht eigentlich darum das ein Dienst der einen Lizenzserver abfragt irgend eine Möglichkeit hat sichtbar eine Fehlermeldung auszugeben.

Ich dachte dann starte ich einfach eine Exe per Shellexecute aus dem Dienst heraus die ein Formular mit der Fehlermeldung anzeigt...
das war aber nichts, denn die Exe zeigt vom Dienst aus gestartet nichts an, aber sie läuft als nicht beendbarer Prozess ewig weiter.
Von der Anwendung aus gestartet geht es wie gewünscht.
Ist also wohl ne Sackgasse.

Wie kann ich vermitteln das der Dienst für eine bestimmte Funktionalität keine Lizenz hat?

-Net send geht nicht immer.
-Das Windows log guckt sich von unseren Kunden kaum einer an.
-evtl. einen Datenbankeintrag erzeugen der dann von dem Administrativen Programm zu dem Dienst angezeigt wird. Aber da sitzen in der Regel dann die Tippsen vor und die wissen garnicht wo die Angezeigten Daten herkommen, was ein Dienst ist , oder wie das Lizenzmodell funktioniert.

Hat einer ne Idee?

Phoenix 9. Sep 2008 12:05

Re: Fehlermeldung aus Dienst heraus.
 
Zitat:

Zitat von QuickAndDirty
... der dann von dem Administrativen Programm zu dem Dienst angezeigt wird.

Ist aber der richtige Weg.
Die Applikation an der die Tippse sitzt kommuniziert ja wohl mit dem Dienst. Diese Applikation ist dann auch dafür zuständig, einen Fehler anzuzeigen, wenn die Aktion die die Tippse gerade ausführen will nicht lizenziert ist.

Was, wenn der Kunde auf die Idee kommt, TerminalServer einzusetzen. Auf welcher der 20 aktiven Sessions sitzt jetzt gerade die eine Tippse, die diese nicht lizenzierte Funktion angefordert hat?

Der richtige Weg ist der, über die anfragende Applikation zu gehen.

mquadrat 9. Sep 2008 12:06

Re: Fehlermeldung aus Dienst heraus.
 
- E-Mail an einen definierten Administrator schicken?
- UDP Pakete an einen Administrationsrechner schicken auf dem ne kleine Anwendung läuft?

Luckie 9. Sep 2008 12:07

Re: Fehlermeldung aus Dienst heraus.
 
Zitat:

Zitat von QuickAndDirty
Ich dachte dann starte ich einfach eine Exe per Shellexecute aus dem Dienst heraus die ein Formular mit der Fehlermeldung anzeigt...
das war aber nichts, denn die Exe zeigt vom Dienst aus gestartet nichts an, aber sie läuft als nicht beendbarer Prozess ewig weiter.

Ein Systemdienst läuft in einer anderen Windows Station und kann somit nicht mit dem Desktop der interaktiven Windows Station des Benutzer interagieren. Das sollte aber langsam bekannt sein.

Zitat:

Wie kann ich vermitteln das der Dienst für eine bestimmte Funktionalität keine Lizenz hat?
Schreib ein zweites Programm, welches automatisch mit der Benutzeranmeldung gestartet wird und kommunizier mit diesem Programm über IPC (Mailslots, Pips, ...).

QuickAndDirty 9. Sep 2008 12:23

Re: Fehlermeldung aus Dienst heraus.
 
Zitat:

Zitat von Luckie
Ein Systemdienst läuft in einer anderen Windows Station und kann somit nicht mit dem Desktop der interaktiven Windows Station des Benutzer interagieren. Das sollte aber langsam bekannt sein.

Ist soweit bekannt das ich bis vor ein paar Stunden dachte das bezöge sich nur auf die EXE und nicht auch auf alles was diese exe startet. Aber ziemlich fieser Sandbox Effekt wenn ich die gestartete Anwendung als Admin nicht mal mehr abgeschossen bekomme.

Zitat:

Zitat von Luckie
Schreib ein zweites Programm, welches automatisch mit der Benutzeranmeldung gestartet wird und kommunizier mit diesem Programm über IPC (Mailslots, Pips, ...).

Ja irgendeine TrayAnwednung, aber dann kann ich das auch über das Haupt Programm machen, ist halt noch abzuwägen, denn es gibt Kunden die da nur einmal die Woche reinschauen... dafür wäre es aber der kleinere Aufwand.

Ich wünschte es gäbe einen von Windows vorgesehenen einheitlichen Meldekanal für Dienste.


Danke an alle.

Luckie 9. Sep 2008 12:41

Re: Fehlermeldung aus Dienst heraus.
 
Zitat:

Zitat von QuickAndDirty
Ich wünschte es gäbe einen von Windows vorgesehenen einheitlichen Meldekanal für Dienste.

Gab es. Früher konnten Dienste mit dem interaktiven Desktop des Benutzer kommunizieren, was allerdings eine eklatante Sicherheitslücke bedeutete, da so eine Verbindung zwischen der "sichern" System Windows Station und der unsicheren Windows Station des Benutzers bestand.

Du kannst auch aus einem Dienst heraus einen Prozess starten, der ein Fenster auf dem Benutzer Desktop anzeigt. Du musst den Prozess eben nur die Windows Station und dem Desktop des Benutzers zu ordnen.

Tyrael Y. 9. Sep 2008 12:46

Re: Fehlermeldung aus Dienst heraus.
 
Ich nehm für sowas immer wieder gerne das gute alte TCP.

Das gute daran, der Code funktioniert auch für andere Anwendungfälle und wird wohl noch ewig funktionieren, da TCP so schnell nicht altbacken sein wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 Uhr.

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