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

WinDev Discussion :

probleme de suppression de fichiers (SERVICE)


Sujet :

WinDev

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut probleme de suppression de fichiers (SERVICE)
    Bonjour à tous

    J'ai 2 soucis totalement étrange.

    j'ai des fichiers dans un répertoire que je supprime une fois par jour. (exécution d'un service)

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    SI (DateDuJour() > dDernierTraitement) ALORS
    	fEcritLigne(nIdFichierLog,"Suppression des fichiers xml "+DateDuJour()+HeureSys())
    	// Pour chaque fichier trouvé on supprime
    	ResListeFichier = fListeFichier(sFichierXML,frRécursif)
    		fEcritLigne(nIdFichierLog,"nombre de fichier à supprimer :"+ChaîneOccurrence(ResListeFichier, RC))
     
    	POUR TOUTE CHAÎNE sUnFichier DE ResListeFichier SEPAREE PAR RC
    		// supprime le fichier
    		fEcritLigne(nIdFichierLog,"fichier à supprimer "+sUnFichier)
    		Multitâche(100)
     
    		fEcritLigne(nIdFichierLog,"debut de boucle")
    		SI (sUnFichier <> sFichierXMLDefaut) ALORS
    			fEcritLigne(nIdFichierLog,"j'y suis")
     
     
    			// ouverture pour fermeture du fichier
    			nidfichierbete=fOuvre(sUnFichier)
    			SI  nidfichierbete<>-1 ALORS 
    				fEcritLigne(nIdFichierLog,"le fichier est ouvert je le ferme")
    				SI PAS fFerme(nidfichierbete) ALORS
    					fEcritLigne(nIdFichierLog,"Je ne peux pas fermer le fichier")
    				SINON
    					fEcritLigne(nIdFichierLog,"Je ferme le fichier")
    				FIN
    			FIN
     
    			Multitâche(100)
     
    			SI PAS (fSupprime(sUnFichier)) ALORS
    				fEcritLigne(nIdFichierLog,"Impossible de supprimer le fichier :  "+sUnFichier+" - "+DateDuJour()+HeureSys(),ErreurInfo())
    			SINON
    				fEcritLigne(nIdFichierLog,"Fichier supprimé "+sUnFichier)
    			FIN
    		SINON
    			fEcritLigne(nIdFichierLog,"Fichier "+sUnFichier+" pas different du fichier par defaut" + sFichierXMLDefaut)
    		FIN
    		Multitâche(100)
    	FIN
    FIN
    Dans mon fichier de log, j'ai bien le fichier à supprimer, mais il ne me supprime que les fichiers créé ce jour (peut etre juste une coincidence)
    ce qui est étrange c'est que mon service ne passe ni dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI PAS (fSupprime(sUnFichier)) ALORS
    ni dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SINON
    				fEcritLigne(nIdFichierLog,"Fichier supprimé "+sUnFichier)
    Auriez-vous une idée ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Ligne 5 : si tu as n caractères RC dans ta chaine, c'est que tu as n+1 fichiers, et non n.
    Mais ce n'était pas ta question

    Quand un service s'exécute, Le USER Qui exeécute le service est un user particulier, et il peut y avoir des problèmes de dropits d'accès. Mais comme tu testes tout bien comme il faut, ça ne doit pas être la bonne piste.

    Dans ton fichier log, as-tu les lignes 'J'y suis' (ligne 14 de ton code) ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    Merci.

    oui je teste juste mes log.

    Oui j'ai bien des j'y suis dans mon fichier de LOG mais j'ai rajouté un message d'erreur : accès refusé ! il s'agit de droit mais le problème c'est que je n'avais pas ce problème avant...

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Bonjour,

    L'utilisateur utilisé pour les services par défaut est, sauf erreur de ma part, le compte système local qui a des droits particulièrement restreints. Si tu veux pouvoir supprimer des fichiers je pense qu'il faut que tu passes sur compte ayant ces droits sur la machine.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 153
    Points
    153
    Par défaut
    A savoir, quand tu libères le fichier avec fFerme(), il se peut qu'il soit toujours considérer comme ouvert par le processus cible après l’exécution de la fonction.

    Si le fichier ne se supprime pas, je suis sur que tu as l'erreurinfo qui correspond au "ce fichier est déjà ouvert par un processus" un truc du genre.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    Hello,

    j'ai ce message "Détail de l'erreur système : Accès refusé..". et quand je veux faire une copie, il me refuse aussi la copie. C'est étrange car nous avions pas de soucis avant.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2009, 13h05
  2. Probleme de suppression des fichiers excel a partir du VB.NET
    Par l_achraf dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/10/2008, 18h54
  3. probleme de suppression de fichier
    Par smartclip dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/05/2008, 22h14
  4. Probleme de suppression de fichier externe
    Par thibs888 dans le forum Langage
    Réponses: 2
    Dernier message: 27/08/2007, 10h27
  5. Probleme de suppression de fichier
    Par ythim dans le forum Langage
    Réponses: 6
    Dernier message: 10/07/2006, 07h40

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