cs_adri85
Messages postés18Date d'inscriptionjeudi 22 février 2007StatutMembreDernière intervention21 septembre 2009
-
16 août 2007 à 17:06
cs_adri85
Messages postés18Date d'inscriptionjeudi 22 février 2007StatutMembreDernière intervention21 septembre 2009
-
20 août 2007 à 08:06
Bonjour,
Je vous expose mon petit souci. J'ai une station météo qui actualise un fichier LST toutes les 5 minutes.
Mon appli VB6 teste si le fichier existe mais plante quelquefois sur le open avec "fichier introuvable".
If Dir("P:\SuiviQualif\HeavyWeather\currdat.LST") <> "" Then
Open "P:\SuiviQualif\HeavyWeather\currdat.LST" For Input As 1
je pense que c'est du à l'actualisation du fichier par la station météo juste apres le test if et pile poil au moment du open.
cs_adri85
Messages postés18Date d'inscriptionjeudi 22 février 2007StatutMembreDernière intervention21 septembre 2009 20 août 2007 à 08:06
Bonjour et merci à tous pour votre aide.
Afin de régler mon probleme j'ai décider de gérer les erreurs. J'avais déjà essayé avec un file copy mais ça ne fonctionnait pas car j'avais une autre erreur (en effet mon code permet de faire executer une centaine de petite appli en parallele)
A priori je n'ai plus de souci...Si le fichier n'est pas accessible alors j'ai simplement une msgbox
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 16 août 2007 à 20:48
Si tu ne l'ouvre quand lecture essaye peut-etre avec ceci :
If Dir("P:\SuiviQualif\HeavyWeather\currdat.LST") <> "" Then
Open "P:\SuiviQualif\HeavyWeather\currdat.LST" For Input Shared As 1
Sinon il va falloir gerer l'erreur, car si tu essaye de l'ouvrir au moment ou l'autre processus est en train de l'écrire et qu'il l'a vérouillé pour cela, tu ne pourras pas l'ouvrir.
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 16 août 2007 à 21:08
Il y a aussi la possibilité de faire un FileCopy, en mettant une boucle autour tant que le fichier ne l'a pas été, et de travailler ensuite sur la copie.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 18 août 2007 à 09:51
Non c'est pas du .Net, c'est bien l'une des possibilité pour l'option Lock de l'instruction Open de VB6
Elle peut etre necessaire mais pas suffisante. En effet il suffit que l'autre processus ouvre le fichier avec un verrouillage (ce qui est probablement le cas s'il l'ouvre pour ecriture) pour que le fichier ne soit plus accessible avec open. Peut-etre reste-il quand même accessible en lecture, c'est suivant le type de verrouillage de l'autre process qui n'est ici semble-t-il pas maitrisé.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 18 août 2007 à 09:52
Non c'est pas du .Net, c'est bien l'une des possibilité pour l'option Lock de l'instruction Open de VB6
Elle peut etre necessaire mais pas suffisante. En effet il suffit que l'autre processus ouvre le fichier avec un verrouillage (ce qui est probablement le cas s'il l'ouvre pour ecriture) pour que le fichier ne soit plus accessible avec open. Peut-etre reste-il quand même accessible en lecture, c'est suivant le type de verrouillage de l'autre process qui n'est ici semble-t-il pas maitrisé.