Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Gesperrte Anwendunge bei Absturz freigeben (https://www.delphipraxis.net/46841-gesperrte-anwendunge-bei-absturz-freigeben.html)

thomasch 1. Jun 2005 14:04


Gesperrte Anwendunge bei Absturz freigeben
 
Hallo,
ich soll zur Laufzeit ein anderes Programm zeitweise sperren. Dank windows.EnableWindow(..) tut das auch alles wie es soll.

Jetzt meine Frage:
Kann ich sicherstellen, dass bei einem Absturz meines Programms das extere wieder freigeben wird?
Wenn nein, gibt es andere Möglichkeiten, das Ziel zu ereichen?

Danke schonmal

Thomasch

Dani 1. Jun 2005 14:23

Re: Gesperrte Anwendunge bei Absturz freigeben
 
Hi, du könntest ein zweites Programm dazu starten, das nur prüft, ob deine erste Anwendung noch läuft/aktiv ist, und im Falle eines Absturzes das Fenster wieder aktivieren.

Es gibt meines Wissens nach keine zuverlässige Möglichkeit, den Absturz des eigenen Programms festzustellen. Man kann ja auch z.B. kaum seinen eigenen Tod feststellen.

Gruß

barf00s 1. Jun 2005 14:26

Re: Gesperrte Anwendunge bei Absturz freigeben
 
das stimmt, sowas is nich möglich...

aber was vllt gehn würde wenn du irgendwo ne liste mit dein änderungen hinterlegst, die dann im zweifelsfall wieder ausgelesen werden kann.
das man dein program dan neustartet und das diese datei einliest, damits wieder bescheid weis was die vorangegangene instanz alles verändert hat ... kA </lautdenk>

mr47 1. Jun 2005 14:33

Re: Gesperrte Anwendunge bei Absturz freigeben
 
Die Lösung von Dani ist die bessere! Dafür reicht sogar ein fensterloser Dienst(??) der einfach aufpasst dass alles sauber abläuft...

mfg

barf00s 1. Jun 2005 14:34

Re: Gesperrte Anwendunge bei Absturz freigeben
 
naja aber wieder 'n extra programm dasn anderes programm überwacht? :)

m.wollert 1. Jun 2005 14:39

Re: Gesperrte Anwendunge bei Absturz freigeben
 
Hi,

ich hab einmal einen Thread erstellt, der nichts anderes tut, als alle paar sekunden in ein bestimmtes verzeichnis einen "timestamp" zu schreiben. Ist die Anwendung geschlossen worden, wurde die Datei gelöscht, ist die Anwendung abgestürzt, wurde der Timestamp nicht mehr aktualisiert.

Diesen Timestamp hat die Anwendung beim Öffnen ausgelesen und ausgewertet - dementsprechend wurde die Anwendung gestartet oder der Start verweigert.

Notwendig war dies bei mir, da diese Anwendung auf dem Netzwerk nur von einer Person zur gleichen Zeit gestartet werden durfte.

Wenn Du möchtest kann ich den Thread anhängen (is aber ein wenig quick&dirty ;)

MfG
Michael

TeronG 1. Jun 2005 14:40

Re: Gesperrte Anwendunge bei Absturz freigeben
 
Hi
also ich arbeite in solchen (oder ähnlichen Fällen) mit nem "WatchDog" ...
würde in deinem fall ein 2tes Proggie starten wobei sich beide Programme gegenseitig neustarten müssten, wenn sie nimmer gehen.

(Mache das so bei einer SPS / PC kombination beide haben ein sich dauernd änderndes Signal (High/Low) sobald einer von beiden länger nicht mehr reagiert, handelt der Andere)

thomasch 1. Jun 2005 14:41

Re: Gesperrte Anwendunge bei Absturz freigeben
 
Zitat:

Zitat von Dani
Hi, du könntest ein zweites Programm dazu starten, das nur prüft, ob deine erste Anwendung noch läuft/aktiv ist, und im Falle eines Absturzes das Fenster wieder aktivieren.
[...]

Das wäre eine Variante - wobei ich mir nicht sicher bin, wie man das ohne größeren Aufwand realisert. Immerhin kenne ich ja erstmal "mein" Handle nicht. Allerdings - wenn man sowas als Service baut dürfte das noch nichtmal groß auffallen.

Ein Programm mitzuliefern, was im Notfall die andere Anwendung entsperrt, oder mein Programm mit einer entsprechenden Parameteroption auszustatten wäre zwar die einfachste Variante, düfte aber wohl aus Marketinggründen ausfallen.

Viele Grüße


Thomasch

barf00s 1. Jun 2005 14:49

Re: Gesperrte Anwendunge bei Absturz freigeben
 
@terong

heist das nich "machine"?

TeronG 1. Jun 2005 15:22

Re: Gesperrte Anwendunge bei Absturz freigeben
 
Zitat:

Zitat von barf00s
@terong

heist das nich "machine"?

:wiejetzt: ?? meinst du meine Signatur :gruebel: das währe aber dann ziemlich OT ... (richtig aber dennoch OT ^^)
[edit]: btw.: thanks für den hinweis ^^

onT: ka aber evtl. kannste ja statt nem 2ten Proggie ja einen Thread für sowas verwenden :gruebel: (hab noch nie mit Threads gearbeitet ^^)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.
Seite 1 von 2  1 2      

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