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

Résolu
denisbertin Messages postés 245 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 13 mai 2023 - 16 avril 2020 à 14:01
denisbertin Messages postés 245 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 13 mai 2023 - 19 avril 2020 à 01:45
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

papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
Modifié le 18 avril 2020 à 17:47
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.

0
denisbertin Messages postés 245 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 13 mai 2023 1
19 avril 2020 à 01:45
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.
0
Rejoignez-nous