Page 1 sur 1

Annuler receivenetworkfile

Publié : sam. 19/mai/2007 15:34
par lepiaf31
Bonjour a tous,
aujourd'hui, j'ai un petit probleme (sinon je ne serais pas là :) ), je n'arrive pas a annuler la recepion d'un fichier:

Code : Tout sélectionner

Case #PB_NetworkEvent_File  
        If ReceiveNetworkFile(Connexion, SaveFileRequester("Telechargement", "Downloads\" + FILE$, "Tous les fichiers|(*.*)", 0))  
          MessageRequester("Info", "Fichier recu", #PB_MessageRequester_Ok)
        Else  
          MessageRequester("Erreur", "Impossible de recevoir le fichier", #PB_MessageRequester_Ok)
        EndIf
    EndSelect
A chaque fois que je clique sur le bouton "annuler" du SaveFileRequester, il y a bien le message "Impossible de recevoir le fichier" mais ensuitele SaveFileRequester réapparait pour enregistrer le fichier.
Quelqu'un pourrait me dire comment annuler la reception d'un fichier

Merci d'avance

Publié : lun. 28/mai/2007 16:25
par lepiaf31
pas d'idee ?

Publié : lun. 28/mai/2007 16:43
par Anonyme
tu met ta routine dans un thread, quand tu annules , soit tu le laisse tourné dans le vide, ou tu le supprime.

Publié : lun. 28/mai/2007 18:30
par Jacobus
Je ferais plutôt comme ça pour décider si je télécharge ou non avec la possibilité d'annuler avant de commencer le téléchargement.

Code : Tout sélectionner

Case #PB_NetworkEvent_File  
   Download$ = SaveFileRequester("Telechargement", "Downloads\" + FILE$, "Tous les fichiers|(*.*)", 0)
   If Download$<>""
     If ReceiveNetworkFile(Connexion,Download$)  
       MessageRequester("Info", "Fichier recu", #MB_ICONINFORMATION)
     Else 
        MessageRequester("Erreur!", "Téléchargement échoué", #MB_ICONERROR)
     EndIf 
   Else  
       MessageRequester("Téléchargement", "Téléchargement annulé", #MB_ICONEXCLAMATION) 
   EndIf 

Publié : lun. 28/mai/2007 18:35
par Anonyme
je n'ai pas testé, mais sendnetworkfile() envois un fichier dans son intégrité ?
si c'est le cas et que tu envois un fichier de disont 200mo , la commande envois les 200mo dans un thread auquel on a pas accès ?
si c'est le cas , à toi de fabriqué un protocole de communication entre tes programmes, et aussi refaire la fonction sendnetworkfile() par une fonction qui envois octets par octets les données et que l'on peut coupé à tout moment.