Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1458 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  message: Error: invalid file handle used

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

message: Error: invalid file handle used

n°1043783
novice19
Posté le 12-04-2005 à 10:08:36  profilanswer
 

Bonjour,
Je vous expose mon problème
J ai 2 jobs qui tourne en même temps et chacun doit écrire dans un fichier log
Dans chaque job, la fonction ecrirefichierlog ouvre le fichier log, ecrit une ligne puis ferme le fichier log mais il y a des pb:
L un des job se plante de temps en temps avec le message:
Error: Invalid file handle used
Comment tester dans le fonction ecrirefichierlog si le fichier log est disponible car je pense que le pb est là?????
Merci de vous pencher sur mon problème

mood
Publicité
Posté le 12-04-2005 à 10:08:36  profilanswer
 

n°1043808
novice19
Posté le 12-04-2005 à 10:23:45  profilanswer
 

Petite information supplémentaire
Il arrive que j ai le message: permission refusée!!!
merci

n°1043812
novice19
Posté le 12-04-2005 à 10:25:38  profilanswer
 

Petite précision il m arrive d avoir le message: permission refusée!!!!!

n°1043821
gfa
Posté le 12-04-2005 à 10:30:49  profilanswer
 

Je pense que tes deux jobs écrivent dans le même fichier de log?
 
Le problème vient de là j'imagine. Tu dois ouvrir le fichier en mode exclusif (pour y écrire ça paraît logique) dans un des jobs et au même moment l'autre job essaie de faire la même chose donc forcément ça merde!
 
A mon avis, tu as deux solutions (mais j'ai pas la science infuse et peut-être qu'il y a mieux à faire):
1/ Tu écris dans deux fichiers séparés
2/ Dans l'écriture du fichier log tu fais une gestion d'erreur qui teste que le fichier log n'est pas déjà ouvert et si c'est le cas, tu boucles en attendant qu'il soit disponible
 
Voilà, j'espère que c'est clair et que cela te convient. Si c'est pas le cas, essaie de fournir les bouts de codes qui plantent.

n°1043852
novice19
Posté le 12-04-2005 à 10:46:25  profilanswer
 

Merci mais comment faire la gestion d erreur qui teste que le fichier n est pas deja ouvert et je boucle en attendant
merci

n°1044234
gfa
Posté le 12-04-2005 à 14:33:28  profilanswer
 

Regarde dans l'aide de VB :-)
 
Mais en gros, ça donne ça:
 
Sub EcrireFichierLog
  Dim ...
  On Error Goto Gestion_erreur
  ...
  Exit Sub
Gestion_erreur:
  Select case Err.Number
  Case le_no_erreur_fichier_deja_ouvert
    Boucle
  Case Else
    MsgBox Err.Number & " " & Err.Description
  End Select
 
Voilà... Si jamais les "..." c'est ton code standard. Fais attention à ne pas oublier le "Exit Sub" tout à la fin (avant l'étiquette) sinon ton prog passera toujours par le code de gestion d'erreur et c'est pas le but.
 
Ensuite, concernant la boucle, le plus simple serait de faire un simple "Resume" (c'est à dire qu'il va revenir sur la ligne de code qui a généré l'erreur) mais en faisant ça, tu risque de créer une boucle infinie si le fichier n'est jamais libéré...  
 
Donc tu as intérêt à faire une boucle à la main qui tourne pendant un certain nombre de fois. Pour ça tu peux soit utiliser un timer soit un boucle for...next
 
Mais bon ce qui me paraît étrange c'est que ton programme essaie d'écrire au même moment dans le même fichier... Pourrais-tu fournir le code?
 
A+

n°1047523
novice19
Posté le 14-04-2005 à 15:45:17  profilanswer
 

Je vous remercie
c'est ok


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  message: Error: invalid file handle used

 

Sujets relatifs
[C] [linker error] undefined reference to ...[PHP] file_exists chez free.fr
Macro - affichage d'un message d'attentefloat point error : domain
Server ErrorSQL / Informix : Error 297
CAST ERRORmessage erreur perl
Javascript et message d'avertissement d'Internet Explorer[ASP] Header "attached file" et erreur javascript...
Plus de sujets relatifs à : message: Error: invalid file handle used


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR