AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Erkennen, falls Programm bereits aktiv
Thema durchsuchen
Ansicht
Themen-Optionen

Erkennen, falls Programm bereits aktiv

Ein Thema von Hansa · begonnen am 21. Aug 2002 · letzter Beitrag vom 21. Aug 2002
Antwort Antwort
Seite 2 von 2     12   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#11
  Alt 21. Aug 2002, 16:27
Habe die neuesten Antworten noch nicht gesehen. Es geht immer wieder um "Freigabe" oder so. Vergesst eins nicht : egal ob auf das Vorhandensein einer Datei oder sonst etwas reagiert werden soll, wird der Rechner einfach ABGESCHALTET, nützt kaum etwas.

Deshalb meine Idee mit der Tasknummer, die wird beim Windowsstart hoffentlich bei 0 oder 1 angefangen. Dann bräuchte ich keine Datei, Mutex, Semaphoren usw.

1. Task: gut.
2. Task 1. Task starten oder Fehlermeldung
3. und höhere Task können dann gar nicht entstehen

wie bei Basic: if 2.Task goto 1.Task

nur wie geht das???

bis demnächst
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#12
  Alt 21. Aug 2002, 16:50
Moin Hansa,

wenn Du Deine WS ID aus dem Computernamen und der Domain/Workgroup bildest, sollte sie eindeutig sein.
Wenn Du jetzt den doppelten Start im Netz verhindern willst, kannst Du ja mit einer Datei arbeiten, die das Programm regelmässig Updaten muss, so dass man, wenn das Intervall überschritten wird, davon ausgehen kann, dass das Programm wohl nicht mehr läuft.
Wenn die WS ID dann den Rechner identifiziert, könnte man ja sogar noch versuchen den Rechner auf Erreichbarkeit zu prüfen, um so genauer sicherzustellen, dass das Programm dort nicht mehr laufen kann.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#13
  Alt 21. Aug 2002, 16:52
Vielleicht solltest Du Dich in der Tat mal mit dem Thema "Semaphoren" beschäftigen.
Stelle Sie Dir als kleine Signalflagge vor, die Windows auf Deine Anforderung hin in den Wind stellt. Sieht Deine Anwendung beim Start diese Flagge wehen, so kann sie direkt nach der bereits laufenden Instanz suchen und diese aktivieren.
Schaltest Du den Rechner aus, so gehören die auf diesem Rechner laufenden Instanzen und Semaphoren (Flaggen) ebenfalls der Vergangenheit an.
Arbeitest Du im Netzwerk, so kann Deine Anwendung auf jeder Workstation genau einmal (oder eine von Dir bestimmte Anzahl an Instanzen) gestartet werden.
Eigentlich genau das, was Du suchst. Ein Beispiel hierzu findest Du beispielsweise bei Delphi-Corner oder Du ergoogelst Dir einfach was.


Grüße,
Daniel


P.S. @Christian: Ich hatte es so verstanden, dass das Programm im Netzwerk durchaus mehrfach gestartet werden darf. Nur eben höchstens eine Instanz pro Workstation.
Daniel R. Wolf
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#14
  Alt 21. Aug 2002, 18:09
Hallo Daniel,

du hast das schon richtig verstanden : von mir aus sollen 200 Leute mit dem Programm arbeiten aber immer nur mit einer Instanz.

Der Thread hier läuft nicht mehr in die ursprüngliche Richtung, ich glaube mit den Flaggen (Semaphoren) hätte ich vor meinem Schlaumeier (bzw. bei Einzelplätzen)Ruhe. Der spielt halt gerne, wahrscheinlich vor allem mit den Systemeinstellungen und dem Dateisystem.

Die Semaphoren scheinen das zu sein was ich suche. Jetzt suche ich diese und schau mir an wie das genau geht. Im Netzbetrieb stellen sich halt noch ganz andere Fragen. Die Sache mit der WS-Nr. stelle ich gesondert bei Rubrik Netzwerke. Glaube, daß das auch für andere interessant ist.

Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 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