Bonjour tlm,
Me revoilà en train de trimer sur mon appli VB6...![]()
![]()
Je cherche une solution à ce problème:
Dans l'appli que je reprend, une commande DOS est lancé avec l'objet WScript.Shell. Voici le code:
La commande lancée doit créer un fichier texte contenant les valeurs extraites par l'exe.
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 Dim oShell As Object Dim oShellLink As Object Dim sExe As String Set oShell = CreateObject("WScript.Shell") Set oShellLink = oShell.CreateShortcut(sTempPath & "extractor.lnk") oShellLink.targetpath = sPath & "\" & PATH_TO_EXE oShellLink.WorkingDirectory = sTempPath oShellLink.Save Set oShellLink = Nothing If Right$(Environ("comspec"), 7) = "cmd.exe" Then sExe = Environ("comspec") & " /C " & Chr(34) & sTempPath & "extractor.lnk" & Chr(34) Else sExe = Environ("comspec") & " /C start /m " & Chr(34) & sTempPath & "extractor.lnk" & Chr(34) End If oShell.Run sExe, 0, True 'Wait for 100ms subDelay 100 'If FILE_OUT is not yet created, wait 2s If Not funFileExist(sTempPath & FILE_OUT) Then subDelay 2000 End If Set oShell = Nothing
Ce qui me chiffone et -je pense- provoque une erreur 70 (pb d'accès au fichier), c'est que l'appli regarde après 100ms si le fichier existe.
S'il est absent, on attend 2 secondes et on repart.
![]()
Je pense que le fichier est encore ouvert en écriture et
que c'est pour cela que je reçoit une erreur 70 dans la tronche.
Toutes les variables et chemins sont valides, j'ai vérifié pas à pas.
Donc il me semble que le fichier out est créé mais que l'appli lit trop tôt dedans.
Je me tourne donc vers vous pour savoir s'il est possible de "suivre" l'exécution de ma commande ??![]()
Merci d'avance.
Bonne journée
Partager