Probleme doevents et inet dans vbs

pinkHell Messages postés 4 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004 - 6 déc. 2004 à 12:39
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 7 déc. 2004 à 16:41
Bonjour,
voici mon code :
set inet = createobject("InetCtls.Inet.1")

inet.requesttimeout=20

Inet.URL = "ftp://ftp.truc.fr"
Do While Inet.StillExecuting
DoEvents
loop

Inet.UserName = "USER"
Do While Inet.StillExecuting
DoEvents
loop

Inet.Password = "PASS"
Do While Inet.StillExecuting
DoEvents
loop

inet.execute , "put c:\TRANS\test.txt texte." & DAY(NOW()) & MONTH(NOW()) & YEAR(NOW())
Do While Inet.StillExecuting
DoEvents
loop

Mes 3 1er doevents se passent très bien mais celui qui se trouve apres :
inet.execute , "put c:\TRANS\test.txt texte." & DAY(NOW()) & MONTH(NOW()) & YEAR(NOW())
me renvoi une erreur "Type incompatible : doevents"
si je met un sleep meme erreur.
Quelqu'un aurait il une idée???

pinkHell %-6

4 réponses

cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
6 déc. 2004 à 17:44
Salut,
bon je te le dis tout de suite, je programme pas en vbs mais en vb tout cours...
sinon tes 3 premières boucles ne servent à rien; inet ne réagit pas quand tu modifie ces valeurs (url, usermane, password). Bon ensuite peut-être qu'il y a confusion pour "inet" car c'est le type du controle et en même temps son nom. Appelle ton controle inet1 pour essayer.
Si c'est pas ça, je vois pas du tout car dans un module de téléchargement sur FTP que j'ai c'est comme ça qu'il faut faire (avec une boucle après inet.execute)
0
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
6 déc. 2004 à 17:49
je viens juste d'y penser: peut-être qu'en vbs tu ne peux pas utiliser le doevents.
Je m'explique. En fait dans ta source il n'y a qu'un seul doevents qui est exécuté: le dernier (si tu ne me crois pas, lance ton projet en debug pas à pas et tu verras) car les conditions des autres ne sont pas "vrai" (le do while...) donc il passe au dessus.

Voilà, c'est ce que je pense mais vu l'erreur, peut-être ailleurs dans ton code tu aurais déclaré des choses qui ne faut pas...

Bonne chance ;)
0
pinkHell Messages postés 4 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004
7 déc. 2004 à 09:04
Merci pour ta réponse,
j'ai cherché un peu plus et il est vrai que le doevents ne fonctionne pas en vbs. Le sleep est sensé fonctionner lui avec la syntaxe suivante : "Wscript.Sleep".
Mon probleme est que ce code ne se trouve pas dans un scripts vbs mais dans une tache de script activeX situé dans un lot MSQL SERVER. Quelqu'un aurait t'il déja trouver une solution pour avoir un équivalent a doevents dans un lot DTS?

pinkHell %-6
0
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
7 déc. 2004 à 16:41
juste encore un petit truc: la fonction sleep (l'api en vb tout court) fait bien une pause d'un certains nombre de millisecondes mais en même temps il gêle le prog donc c'est pas adapté à ta fonction. Pour le reste, je peux pas t'aider plus; je connais rien en sql

--------------------------------------------------------------------------------
Parrainage pour Prizee (gagner de l'argent), un clic n'engage à rien.
http://www.prizee.com/?refer=Benoitp59
0
Rejoignez-nous