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

MFC Discussion :

[CFile::open()] violation de partage


Sujet :

MFC

  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [CFile::open()] violation de partage
    j ai repris ce bout de code d une application. Mais dans mon implementation l ouverture de fichier genère une vilation de partage (exception).

    Cette erreur arrive sur n importe quel fichier que je tente d ouvrir. Je n ai pas plusieurs application qui accede au fichier en question.

    Avec les memes valeurs de paramètre, cette fonction ne genère aucune erreur dans l application qui m a servie de source...

    je ne comprend pourquoi j ai cette vilation de partage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    	//ouverture du fichier à lire
    	if (0 == myFile.Open(cstrBR_NAME, (CFile::modeRead), &fileException))
    	{		
    		TCHAR   szCause[255];
    		CString strFormatted;
     
    		fileException.GetErrorMessage(szCause, 255);
     
    		strFormatted = _T("Open file error: ");
    		strFormatted += szCause;
    		TRACE("Erreur\t%s\r\n",strFormatted);
     
    		l_bResult=false;
    	}
    	else
    	{
    		//suite ( lecture etc...)
             }

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    pourrais-tu nous donner le message d'erreur complet stp?

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    le numero de cause est le 11:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Une violation de partage s'est produite lors de l'accès à C:\Temp\Convert.txt

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Citation Envoyé par MSDN
    One access permission and one share option are required
    CFile::modeRead | CFile::shareDenyWrite
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    j ai toujours le meme probleme independament de la "share option".

    j ai essayé plusieurs options : CFile::shareDenyWrite,CFile::shareExclusive,CFile::shareDenyNone,...


    le truc bizzare c est que le meme code ( sans share option) marche parfaitement dans mon aute application... )

  6. #6
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Oui étrange, en effet.
    Quelques propositions, à tout hasard:
    - Vérifies que ton appli se ferme bien (s'il reste un processus, il peut garder l'acces sur le fichier).
    - Assures-toi que tu referme (close) correctement le fichier.
    - Assures-toi (avec unlocker par ex.) qu'effectivement, aucun autre processus n'utilise le fichier.

  7. #7
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    mon appli se ferme bien ! (monothread -> donc pas de reste indesirable)
    pas besoin de close vu que je ne peut open !

    aucun autre process accede le fichier car je le creé pour l occasion et rien dans le system n en a connaisance.

  8. #8
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    L erreur se repète pour tout fichier que j essais d ouvrir....


    A quoi cela pourrait etre du ??

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu as dis j'ai créé ce fichier pour l'occasion ,commment a t-il été créé ?
    dans le meme programme ?
    il a bien été fermé ?
    tu peux l'ouvrir avec notepad ? (pendant que ton programme est ouvert)
    dans tous les cas laisse l'option : CFile::modeRead | CFile::shareDenyWrite
    essaye aussi de desactivé ton anti-virus.

  10. #10
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    j ai trouvé le problème.

    il y avait, dans un autre module (que je n ai pas programmé), un , evidamment le fichier restait ouvert...

    -> resolu

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

Discussions similaires

  1. urgent , violation de partage lors d'une mise à jour d'une DLL.
    Par aboulouafa.said dans le forum VB.NET
    Réponses: 4
    Dernier message: 16/07/2007, 16h05
  2. violation de partage
    Par Smix007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/05/2007, 15h45
  3. Violation de partage
    Par sourivore dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 24/02/2006, 13h45
  4. suppression de fichier et violation de partage
    Par sohnic dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 21/11/2005, 10h10

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