VB6 problème avec Inet... dépendamments de l'ordinateur...
programmerPhil00
Messages postés14Date d'inscriptionmercredi 7 juin 2006StatutMembreDernière intervention 6 février 2008
-
31 janv. 2008 à 08:24
programmerPhil00
Messages postés14Date d'inscriptionmercredi 7 juin 2006StatutMembreDernière intervention 6 février 2008
-
6 févr. 2008 à 05:39
Bonjour,
J'ai relancé un patcher qu'on ami avais fait pour mon serveur et la... parfois sur des ordinateurs il fonctionne, d'autre fois non... J'ai tout de suite pensée au DLL (J'ai essayer tout ce que j'avais en mon pouvoir, et ca na pas marcher...)
J'ai fait un scan avec Process Monitor... il manque pas de DLL...
J'ai installer VB6 sur la machine en question qui marchais pas (et c'est environ 1 machine sur 2...) et en regardans ou il plante c'est ici :
Private Function Getfile(site, file As String)
'Name of the updated exe
'RemoteFileToGet = site & updatelist
FirstResponse = False
m_FileSize = GetHTTPFileSize(site & file)
While Inet1.StillExecuting = True
DoEvents <<<<<<<=============================
Wend
lblStatus.Caption = "Détermination de la taille du fichier..."
'lblInfo.Caption = "0/" & (m_FileSize)
lblInfo.Caption = (m_FileSize) & " octets"
pbfile.Value = 0
m_LocalSaveFile = Path & file
'Inet1.Execute RemoteFileToGet, "GET " & Chr(34) & m_LocalSaveFile & Chr(34)
Inet1.Execute site & file, "GET " & Chr(34) & m_LocalSaveFile & Chr(34)
End Function
Il plante au DoEvents, et rien a faire... il n'arrive même pas a download un tout petit peu avec Inet... On dirais que c'est Inet qui plante...
Sur mon ordi à moi, tout fonctionne impec... (jai meme pris toute mes dll et les ai remis sur ma deuxieme machine...)
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 31 janv. 2008 à 09:08
extrait de la doc VB6 ...regarde les deux lignes que j'ai mis en rouge c'est peut être la solution
[javascript:alink_4.Click() instructions] dans une boucle aussi
longtemps que la valeur d'une condition est True.
Syntaxe
Whilecondition [statements]
Wend
La syntaxe de l'instruction While...Wend comprend les éléments
suivants :
Élément, Description, ----
condition, <object id="alink_5" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>Expression numérique ou
<object id="alink_6" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>expression de chaîne vraie (True)
ou fausse (False). Si l'argument condition est de type
<object id="alink_7" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>Null, il est considéré comme
False., ----
statements, Facultatif. Une ou plusieurs instructions exécutées tant que la
valeur de la condition est True.
Remarques
Si la valeur de l'argument condition est True, toutes les
instructions (statements) sont exécutées jusqu'à ce que l'instruction
Wend soit rencontrée. Le contrôle retourne ensuite à l'instruction
While et condition est de nouveau vérifié. Si condition est
toujours vrai (True), le processus est répété. Si la valeur de
condition n'est pas True, l'exécution reprend à partir de
l'instruction qui suit l'instruction Wend.
Les boucles While...Wend peuvent être imbriquées à n'importe quel
niveau. Chaque Wend correspond à l'instruction While la plus
récente.
Conseil L'instruction Do...Loop permet
d'exécuter une itération de manière plus structurée et plus souple.
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 31 janv. 2008 à 09:31
lol si il reste là ce n'est pas un plantage du doevent
c'est plutot qu'il ne reçoit jamais l'info qui lui permet de repartir !
regardes alors du coté de ton Inet1.StillExecuting = True en mettant un espion dessus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 31 janv. 2008 à 09:52
louche....
quel lien direct entre
m_FileSize = GetHTTPFileSize(site & file)
et
While Inet1.StillExecuting = True
DoEvents <<<<<<<=============================
Wend
on a le code de GetHTTPFileSize ?
parce que s'il rend la main sans que Inet n'ai au final finit son job, m_File_Size ne risque pas d'avoir souvent une valeur cohérente...
programmerPhil00
Messages postés14Date d'inscriptionmercredi 7 juin 2006StatutMembreDernière intervention 6 février 2008 1 févr. 2008 à 23:17
Bon, si j'enleves mes DoEvents... sa plante pas, mais ca download pas non plus... donc ca plante plus loin dans le code car il n'a pas téléchargé les fichiers...
Le gros problème, c'est qu'une fois les étapes fait... cela marche... sur l'ordinateur en question, mais pas sur les autres... et je ne peux pas demander a 500 personnes de faire ça...
Dans le code, peux-t-on lui dire d'utiliser la dll qui a dans le root directory du programme (shdocvw.dll) ? Ca reglerais bien des problèmes !
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 2 févr. 2008 à 14:40
si c'est juste une question de dll à remplacer cela peut se faire tres simplement en faisant un setup de ton programme en lui mettant la bonne dll
a l'installation du program elle sera mise en place automatiquement et plus de soucis !
programmerPhil00
Messages postés14Date d'inscriptionmercredi 7 juin 2006StatutMembreDernière intervention 6 février 2008 2 févr. 2008 à 19:16
Non, car cette dll ne peux qu'etre remplacer par le setup de IE7 ou IE6... tinquîète pas j'ai essayé... et si on remplace la dll, ie7 cesse de fonctionner... =/
.manifest ? Merci... je vais rechercher ca, mais aurais tu quelques informations pour moi ?