Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#26

AW: Welches Programm ist wo geöffnet?

  Alt 6. Nov 2012, 15:18
Jo, und wenn das Programm mehrfach von dem Benutzer an dem Rechner gestartet wird, dann klappert das so nicht.
Es sei dem einem reicht es zu wissen, daß "mindestens" ein Programm an dieser Stelle gestartet ist.

Wird das letzte Programm beendet, dann wird auch automatisch die Datei gelöscht.

FILE_FLAG_DELETE_ON_CLOSE bezieht sich nur auf das erste FileHandle, über welches die Datei erstellt wurde. (danach sollte es IMHO keine Wirkung mehr haben)
Und es zeigt erst seine Wirkung, nachdem kein Handle mehr auf die Datei zeigt (egal wem diese Handles gehörten).
Nu joar ... das ist alles nicht so wie gedacht ...

Man kann solange ein Handle auf diese Datei bekommen, bis der erste das Handle (mit Flag FILE_FLAG_DELETE_ON_CLOSE) schließt.
Ab diesem Zeitpunkt hat die Datei den Status "Sobald mich keiner mehr sieht, verdufte ich" und jeder Versuch ein Handle auf diese Datei zu bekommen führt zu einem INVALID_HANDLE_VALUE.

Also muss jede Instanz seine eigene Datei verwalten.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat