Überprüfung auf mehrere Instanzen eines Spiels

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[unmarkierte Version][gesichtete Version]
(Einführung: Überarbeitung der Einleitung unter Beibehaltung des bisherigen Schreibstils)
Zeile 2: Zeile 2:
 
[[Kategorie:C++]]
 
[[Kategorie:C++]]
  
Wie du wahrscheinlich selbst austesten kannst: Viele Spiele der heutigen Zeit kann man aus dem Versehen durch ein hohes Quantum an Mausklicks mehrfach starten, aber dennoch öffnet sich nur eine Instanz des Spieles, nicht etwa Zwei, Drei, Vier, Sieben oder sogar mehr. Den Mechanismen dahinter werden gehen wir auf den Grund.
+
Wie du wahrscheinlich selbst austesten kannst: Viele Spiele der heutigen Zeit kann man (versehentlich) mehrfach starten, aber dennoch öffnet sich nur eine Instanz des Spieles, nicht etwa zwei, drei, vier, sieben oder sogar mehr. Dem Mechanismen dahinter werden wir auf den Grund gehen.
  
 
== Verwendung ==
 
== Verwendung ==
Wir benötigen dies zum Beispiel bei Spielen oder Programmen, bei denen es eine Weile dauert, bis der Benutzer nach dessen Start eine Rückmeldung in Form eines Fensters oder Ladebildschirms erhält, in der der Benutzer das Programm u. U. weitere Male startet. Dadurch öffnen sich mehr Instanzen und der Start aller Instanzen zieht sich in die Länge. Deshalb sollen neue Instanzen des Spiels prüfen, ob bereits eine Instanz geöffnet wurde und sich ggf. beenden.
+
Ein Verfahren zur Verhinderung des mehfachten Starts einer Anwendung benötigen wir zum Beispiel bei Spielen oder Programmen, bei denen es eine Weile dauert, bis der Benutzer nach dessen Start eine Rückmeldung in Form eines Fensters oder Ladebildschirms erhält. Dann kann es passieren, dass der Benutzer durch erneutes Klicken versucht das Programm noch einmal zu starten. Dadurch öffnen sich, wenn dies nicht verhindert wird, mehrere Instanzen, und der Start aller Instanzen zieht sich in die Länge. Deshalb sollen neue Instanzen des Spiels prüfen, ob bereits eine Instanz geöffnet wurde und sich dann ggf. beenden.
  
 
== Implementierung ==
 
== Implementierung ==
Zeile 30: Zeile 30:
 
</sourcecode>
 
</sourcecode>
  
Dieser Code bewirkt also, dass wenn ein Fenster schon offen ist kein weiteres mehr geöffnet werden kann.
+
Dieser Code bewirkt, dass wenn ein Fenster schon offen ist, kein weiteres mehr geöffnet werden kann.
Nicht wie eventuell angenommen wurde, dass die anderen Instanzen geschlossen werden. Wir packen das Problem gleich an der Wurzel.
+

Version vom 13. Dezember 2011, 12:27 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge