Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Service + GUI-Anwendung & TrayIcon (https://www.delphipraxis.net/56872-service-gui-anwendung-trayicon.html)

omata 12. Nov 2005 15:43


Service + GUI-Anwendung & TrayIcon
 
Hallo,

ich brauche mal einen Denkanstoss.

Ich habe eine Anwendung, die alle 10 Minuten eine Synchronisation zwischen zwei Rechnern vornimmt (DB-Synchronisation). Das funktioniert auch soweit. Diese Anwendung lässt über ein TrayIcon eine Steuerung zu. Dort kann man die Synchronisation auch manuell starten, sich die letzte Synchronisation anschauen oder auch aufgetretene Fehler ansehen. Und man sieht wann die letzte Synchronisation war.

Das ist also der Ist-Zustand.
Jetzt möchte ich aber diese Steuerung auch haben, wenn ich mich über Desktop-Remote am Server anmelde.
Deshalb hatte ich an einen Service gedacht. Über Interactive kann ich ja auch auf den Desktop zugreifen. Dies funktioniert aber nicht so wirklich, die Anwendung wird z.B. zweimal gestartet oder das TrayIcon erscheint dann doch einfach mal nicht.

Meine Frage ist einfach wie würdet ihr das lösen?
Meine Überlegeung ging jetzt schon in Richtung: Anwendung, die über TCP/IP mit dem Service kommuniziert.
Aber vielleicht gibt es noch eine einfachere Lösung. Denn zur Zeit habe ich zwei Programme Server/Client. Dann hätte ich vier Programme Server/Client + 2*Kontrollprogramm.

Hoffe mir kann geholfen werden...

Vielen Dank
Thorsten

Bernhard Geyer 13. Nov 2005 11:46

Re: Service + GUI-Anwendung & TrayIcon
 
Als Hotfix mußt du die Remote-Desktop mit dem Aufrufparameter /CONSOLE starten.
Dann funktioniert dein TrayIcon aus dem Deskop wie gewünscht. Dieser Schalter funktioniert AFAIK jedoch nur bei Windows 2003 Server.

neolithos 14. Nov 2005 01:16

Re: Service + GUI-Anwendung & TrayIcon
 
Zitat:

Zitat von omata
Meine Frage ist einfach wie würdet ihr das lösen?
Meine Überlegeung ging jetzt schon in Richtung: Anwendung, die über TCP/IP mit dem Service kommuniziert.
Aber vielleicht gibt es noch eine einfachere Lösung. Denn zur Zeit habe ich zwei Programme Server/Client. Dann hätte ich vier Programme Server/Client + 2*Kontrollprogramm.

Ich habe es auch via TCP gelöst, was zwar ein bisschen arbeit war. Bin aber sehr zufrieden mit dieser Lösung, da sie mir am saubersten erscheint. Gut gefällt mir daran auch, das ich auf den Service auch von einem anderen Rechner aus zugreifen kann. Was ich aber aus Sicherheitsgründen für bestimmte Optionen verboten habe.

omata 14. Nov 2005 03:33

Re: Service + GUI-Anwendung & TrayIcon
 
Danke für die Tipps.

Mit /Console werde ich das mal ausprobieren. Aber ich weiss schon jetzt, dass es mit nicht gefallen wird. (weil der Benutzer, der an der Kiste sitzt dann abgemeldet wird)
Trotzdem danke für den Tip, den kannte ich noch nicht.

Ich hatte soetwas geahnt, dass ich um die TCP/IP-Lösung nicht herumkomme. Im Prinzip ist das ja auch ok, ich habe allerdigs schon eine TCP/IP-Verbindung zwischen den beiden Servicediensten und jetzt kommt jeweils noch eine hinzu. Das finde ich dann doch nicht mehr so witzig.

Ich danke euch für den Gedankenaustausch.

MfG
Thorsten

neolithos 14. Nov 2005 05:23

Re: Service + GUI-Anwendung & TrayIcon
 
Du kannst auch Pipes, Nachrichten, MMF verwenden, aber das sind ehrlich gesagt nicht meine Favoriten. Meiner Meinung nach läuft es immer auf ein weiteres Program raus.

Im Server läst sich das aber schön über verschiedene Threads trennen.

Und ein Extra-Programm tut nur in der Dokumentation weh.

Bernhard Geyer 14. Nov 2005 07:10

Re: Service + GUI-Anwendung & TrayIcon
 
Zitat:

Zitat von neolithos
Und ein Extra-Programm tut nur in der Dokumentation weh.

Würde ich nicht mal sagen das sowas spezielles in der Dokumentation aufgeführt werden muss.
Ergänz dein GUI-Programm einfach das es den Dienst installieren kann. Abfrage von Installations-Rechten bzw. Installation eines Services dürftest Du entsprechenden Code hier im Forum finden.

Und ich würde auch TCP bevorzugen. Wenn Du für deinen Dienst mehrere Verbindungen zuläßt könntest Du ihn auch von der Ferne konfigurieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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