Pouvez vous me dire comment savoir si un fichier est déjà ouvert en écriture? [Résolu]

Signaler
Messages postés
226
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
28 septembre 2020
-
Messages postés
226
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
28 septembre 2020
-
Pouvez vous me dire comment savoir si un fichier est déjà ouvert en écriture

par un autre logiciel, je vous remercie d'avance j'e ai besoin, sincèrement.

2 réponses

Messages postés
199
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
10 septembre 2020
7
Bonjour
peut être ça
function VerifierSiFichierEstOuvert(NomFichier: string): boolean;
var
  HFileRes: HFILE;
begin
  Result := False;
  if not FileExists(NomFichier) then
    Exit;
  HFileRes := CreateFile(PChar(NomFichier), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL, 0);
  Result := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then
    CloseHandle(HFileRes);
end;

regarde si ça te convient elle n'est pas de moi et j'ai plus l'adresse.

Messages postés
226
Date d'inscription
lundi 22 avril 2013
Statut
Membre
Dernière intervention
28 septembre 2020
1
Réponse de Denis, je viens de vérifier votre méthode elle fonctionne.

Cette méthode est désormais intégrée au logiciel denis-draw, en effet

Si plusieurs instances (lancement) de ce logiciel étaient ouvertes, il pouvait

avoir un conflit entre différent accès au même fichier, en l'occurance, le fichier

de maintien d'une cession à l'autre ce bogue est corrigé, ce qui permet de fermer

d'une seul clic avec le bouton droit de la souris dans le dock, fermer toutes les

fenêtres, alors si l'une d'entre elles (ces fenêtres) est en action alors les autres

fenêtres peuvent attendre que ce fichier ne soit plus adressé lorsque ce fichier

est ouvert en écriture, par une autre cession. Un fonctionnement idéal.

Merci beaucoup - bogue fixé - bug Fixed comme disent les Américains,

sincérement denis, le développeur écrit à Bourges.