IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Erreur "Fichier utilisé par un autre processus"


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Par défaut Erreur "Fichier utilisé par un autre processus"
    Bonjour tout le monde...

    Avant tout, mes données, je travaille sous WinXP, avec un Delphi2005...

    Voila mon problème...
    Une application tierce écrit dans un fichier texte des données... Mon application doit pouvoir lire à la volée les données de ce fichier texte pour pouvoir assurer une interface pour les opérateurs...
    Seulement voila, à priori, l'application tierce bloque le fichier et je ne peux pas y accéder. Le système me renvoie l'erreur "Fichier utilisé par un autre processus", ce qui est logique.
    Je me demandais si il n'y avait pas un moyen de passer outre ce bloquage en forçant l'ouverture du fichier en "lecture seule" par exemple...

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if Self.OpenDialog1.Execute() then
      begin
        AssignFile(ficFile,Self.OpenDialog1.FileName);
        strFile:=Self.OpenDialog1.FileName;
        Self.prLectureEnTete();
      end;
    avec dans la procedure "prLectureEnTete" le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      stlListe:=TStringList.Create();
      stlDecompose:=TStringList.Create();
      stlListe.LoadFromFile(strFile);
    C'est la dernière ligne qui renvoie l'erreur... Normale, puisque c'est elle qui lit réellement le fichier texte...

    Je ne vois pas comment faire...

    HELP ME !!!

    Merci d'avance...

  2. #2
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    tu as essayé de le lire simplement en fichier texte avec la méthode reset(ficFile) ? Si ça marche, tu peux remplir ton stringlist manuellement.

    @++
    Dany

  3. #3
    Expert confirmé

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Par défaut
    La ligne AssignFile(ficFile,Self.OpenDialog1.FileName); ne sert à rien à priori.

    Sinon pour ton problème de base utilise un TFileStream dont le la création est effectuée par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Var MonStream:TFileStream
    ...
    MonStream := TFileSTream.Create('fichier.toto',fmOpenRead+fmShareDenyNone);
    Try
      ...
    Finally
      MonStream.Free;
    End;
    Si tu as une erreur le fichier source est peut-êute ouvert en mode exclusif, dans ce cas tu ne pourras pas le lire tant qu'il est ouvert.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Par défaut
    Merci A tous les deux...
    J'ai utilisé un TFileStream et cela fonctionne à merveille !!!

    Au fait Nono,
    La ligne AssignFile(ficFile,Self.OpenDialog1.FileName); ne sert à rien à priori.
    Tu avais parfaitement raison, c'était un reste d'un ancien test que j'avais fais...

    En tout Cas encore MERCI !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir fichier utilisé par un autre processus
    Par louay02 dans le forum Débuter
    Réponses: 7
    Dernier message: 12/10/2011, 10h41
  2. Réponses: 22
    Dernier message: 02/10/2009, 10h31
  3. Copier un fichier utilisé par un autre processus
    Par shaun_the_sheep dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 29/12/2008, 15h45
  4. Réponses: 7
    Dernier message: 15/06/2007, 18h50
  5. [JNI] Fichier utilisé par un autre processus
    Par Julaie95 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 10/08/2006, 11h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo