[VB6] Forcer la sortie d'une procédure

Forcer la sortie d'une procédure [VB6] - Programmation

Marsh Posté le 23-05-2001 à 13:44:08    

y a t il en VB une commande qui permettrait de forcer de sortir d'une ou toutes les procédures en train de tourner?
 
p . ex
 
Sub proc1()
'Procédure qui est entrain de tourner
 
End Sub
 
Sub Proc2()
Action permetant d'arreter le traitement ds proc1 (ou autres)
end sub
 
je sais pas si ca existe ce genre de commandes???

Reply

Marsh Posté le 23-05-2001 à 13:44:08   

Reply

Marsh Posté le 23-05-2001 à 15:51:01    

j'ai pas trop compris ce que tu veux faire mais tu peux pas te debrouiller avec "exit sub" ???

Reply

Marsh Posté le 23-05-2001 à 16:06:49    

en faite ce que je voudrais faire, mais je suis ps sur que c'est faisable..., c'est de pouvoir arreter l'exécution d'une procédure, non pas à l'intérieur de celle-ci où la effectvement exit sub est suffisant, mais d'arreter l'execution au moyen d'une autre procédure... donc comme marqué au dessus la procédure Sub2 ferait en sorte que la procédure Sub1 s'arrete...
 
je sais que c'est un peu bizarre mais ca m'arrangerait bien... mais j'ai moi même des doutes sur l'existance de ce genre de commandes...:)

Reply

Marsh Posté le 23-05-2001 à 16:12:10    

pour plus d'info...et que ce soit plus concret...
 
ma proc 1  s'occupe de faire toute une suite de transferts FTP... Mais qd les connexions sont pas bonnes j'aimerais pouvoir annuler toute la série des transferts...
 
il y a bien un time-out qui fait en sorte de sortir la proc... mais pour éviter l'attente, je voudrais la proc2 qui annulerait entierement la proc1...
 
je sens que je parles chinois :)

Reply

Marsh Posté le 23-05-2001 à 19:35:49    

Si c'est pour du FTP et que ça ne te dérange pas de "soutraiter" tu peux utiliser gratuitement on contrôle K-FTP (cf mon site) qui marche en asynchrone (donc ton appli peut faire autr chose pendant le transfert) et qui te donne pas mal de controle sur le transfert (%...). De plus il est possible d'annuler un transfert à tout moment (kftp.abort)
 
Sinon, tu peux toujours mettre un boolean en variable globale, l'initialiser à true et quand tu entre dans sub2 le faire passer à false.
Dans sub1 tu vérifie que ce booleen est à true et si ce n'est pas le cas -> exit.

Reply

Marsh Posté le 25-05-2001 à 03:03:48    

Private Function FTP_Transfer(Met_Tes_Parametres) as Boolean
' ici je met mes routines qui gere les # opérations
 
 tant que je recoit des octets
        je traite
  sinon
    active_compteur
        if active_compteur = TIMEOUT ' TIMEOUT = const de la période
         FTP_Transfer = FALSE
        else
         FTP_Transfer = FALSE
       end if
End Function
 
 
Private Sub  
 
  if Function FTP_Transfer =  ' tout est OK, on recoit ... la fonction est traitée
  else  
  msgbox "Timeout !"
  end if
end sub
 
Théorie : on a une routine qui gere donc le traitement pis un sub qui l'appelera tant qu elle est vrai sinon erreur (je conseille de mettre un while dans la function).
L'ideal est deux créer un thread pour les deux taches mais bon si la ca peut t aider ...
 
 
Note : excusez moi les vrai rézo/codeur, mais j'ai jamais codé koike ce soit axé rézo :)

Reply

Marsh Posté le 25-05-2001 à 03:04:33    

if active_compteur = TIMEOUT ' TIMEOUT = const de la période
         FTP_Transfer = FALSE
        else
         FTP_Transfer = TRUE
end if
 
 
Mais tu l avais deviné je pense ;p

Reply

Marsh Posté le 25-05-2001 à 09:52:00    

Ok  Merci les gars!!
 
Je vais voir ce que je peux faire avec le systeme des booléens etc...
 
@+ GrEgY

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed