Zitat von
Bernhard Geyer:
Das kannst Du eigentlich nur realisieren indem du eine "Lizenzserver"-Software schreibst (z.B. mit Hilfe von
DCOM).
Ich habe das bei mir einfacher realisiert:
Ein Lizenzserver in Delphi, bei dem sich jede Client-Anwendung einträgt und periodisch sendet, ob sie noch lebt (per
TCP). Ist die lizensierte Anzahl an Clients erreicht, sendet der Lizenzserver an eine Anwendung, die sich neu anmelden will zurück, dass ein Start nicht möglich ist, da die maximale Anzahl an gleichzeitig laufenden Lizenzen erreicht ist.
Meldet sich ein angemeldeter Client über eine definierte Zeit nicht (da z.B. geschlossen oder abgesemmelt), wird dieser aus der Liste gekickt und es ist wieder ein Platz frei für den nächsten Client.
Gruß Igotcha