Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   eigener Versionsabgleich auf Citrix - Mehrbenutzerzugriff (https://www.delphipraxis.net/158907-eigener-versionsabgleich-auf-citrix-mehrbenutzerzugriff.html)

dataspider 7. Mär 2011 16:06

eigener Versionsabgleich auf Citrix - Mehrbenutzerzugriff
 
Hi,

ich habe ein uraltes Modul von mir wieder ausgekramt und möchte es so anpassen, dass es auf Citrix sicher seinen Dienst verrichtet.
Es macht nichts anderes als einen Versionsabgleich von einem zentralen Server.

- Konfigurationsdatei lesen
- Dateinen vergleichen
- neue Dateien kopieren
- Anwendung starten

Jetzt ist es natürlich so, dass User 1 gerade das Tool gestartet hat und der Abgleich gerade läuft.
Startet User 2 in dieser Zeit, so soll er mitbekommen, dass der Abgleich gerade läuft und dann nur einen Hinweis bringen und nach dem Abgleich weiter machen. Auf gar keinen Fall soll der Abgleich 2 mal starten.

Wie macht man das am Besten?

Klar kann man in einer Ini ein Flag setzen. Aber das Problem daran ist, dass im Falle eines Crashs beim Abgleich dieses Flag dann stehen bleibt.
Oder man öffnet eine Datei exclusiv... - eine sichere Lösung fällt mir irgenwie nicht ein.

Wie würdet ihr das lösen?

Danke

Frank

shmia 7. Mär 2011 17:06

AW: eigener Versionsabgleich auf Citrix - Mehrbenutzerzugriff
 
Zitat:

Zitat von dataspider (Beitrag 1086578)
Oder man öffnet eine Datei exclusiv...

Das würde ich zuerst versuchen.
Ansonsten vielleicht noch mittels eines Mutex prüfen, ob der Versionsabgleich schon läuft.
Der Mutexname braucht den Prefix 'Global\' damit sich die verschiedenen Instanzen gegenseitig "sehen".

dataspider 7. Mär 2011 18:08

AW: eigener Versionsabgleich auf Citrix - Mehrbenutzerzugriff
 
Zitat:

Zitat von shmia (Beitrag 1086603)
Ansonsten vielleicht noch mittels eines Mutex prüfen, ob der Versionsabgleich schon läuft.

Hm... wieso dachte ich nur, dass das auf Citrix nicht geht...
Das ist eine saubere Lösung - und so werde ich es machen.

Vielen Dank

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.

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