Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WDxx] Impossible d'interrompre un FTPRecupere

6 réponses
Avatar
Georges Peyre
Bonjour

Mon problème est de ne pouvoir interrompre un téléchargement exécuté
par FTPRecupere(..


- Je crée un booleen contenant le code d'interruption demandé
WArretDemande est un booléen


- Je cree un evènement destiné à détecter la touche de fonction F5 et
sa procédure
Evénement("Eve_Fonction", "*.*",WM_SYSKEYDOWN )

PROCEDURE Eve_Fonction()
SELON _EVE.wParam
CAS 116 : // 116 = F5
WArretDemande = Vrai
AUTRE CAS
FIN


- Je lance un Thread qui exécute le téléchargement
ThreadExécute("Thread1", threadNormal, PTelechargeThread)

PROCEDURE PTelechargeThread()
....
SI FTPRécupère (nIdConnexion, "testelechargement.txt",
"C:\Temp\","TéléchargementFTP") ALORS ....
....


- L'aide Windev préconise de traiter l'interruption de la façon
suivante :
La fonction FTPRécupère ne peut pas être interrompue tant qu'il reste
des fichiers à transférer.
Pour forcer l'interruption du parcours, il faut utiliser la ligne
suivante dans la procédure <Nom de la procédure> :
Renvoyer Faux

- Je respecte le conseil de l'aide Windev suivante :

PROCEDURE TéléchargementFTP(tTailleTotale, tTailleTransférée)
SI WArretDemande = Vrai ALORS
RENVOYER Faux
SINON
Jauge(tTailleTransférée, tTailleTotale,"",iRougeClair)
RENVOYER Vrai
FIN

L'appui sur la touche F5 n'est pas détecté durant l'exécution : ou est
mon erreur ?

Cordialement

--
Elle est pas belle la vie ?

6 réponses

Avatar
Georges Peyre
En définitive ce n'est pas la fonction FTPRecupere qui est en cause :

En réalité c'est le fait que lors de l'exécution du thread "Thread1",
l'évènement de la touche F5 ne se déclenche pas et que donc le top
WArretDemandé n'est pas modifié à Vrai : donc FTPRecupere ne vois
jamais ce top à Vrai

Mon problème est donc modifié et devient le suivant :
Evénement("Eve_Fonction", "*.*",WM_SYSKEYDOWN ) ne s'exécutant pas,
comment faire pour ..
- soit changer la valeur du top WArretDemandé pour que le Thread
"Thread1" le prenne en compte ?
- soit que l'évènement s'exécute lorsque j'appuie sur F5 ?




Georges Peyre vient de nous annoncer :
Bonjour

Mon problème est de ne pouvoir interrompre un téléchargement exécuté par
FTPRecupere(..


- Je crée un booleen contenant le code d'interruption demandé
WArretDemande est un booléen


- Je cree un evènement destiné à détecter la touche de fonction F5 et sa
procédure
Evénement("Eve_Fonction", "*.*",WM_SYSKEYDOWN )

PROCEDURE Eve_Fonction()
SELON _EVE.wParam
CAS 116 : // 116 = F5
WArretDemande = Vrai
AUTRE CAS
FIN


- Je lance un Thread qui exécute le téléchargement
ThreadExécute("Thread1", threadNormal, PTelechargeThread)

PROCEDURE PTelechargeThread()
....
SI FTPRécupère (nIdConnexion, "testelechargement.txt",
"C:Temp","TéléchargementFTP") ALORS ....
....


- L'aide Windev préconise de traiter l'interruption de la façon suivante :
La fonction FTPRécupère ne peut pas être interrompue tant qu'il reste des
fichiers à transférer.
Pour forcer l'interruption du parcours, il faut utiliser la ligne suivante
dans la procédure <Nom de la procédure> :
Renvoyer Faux

- Je respecte le conseil de l'aide Windev suivante :

PROCEDURE TéléchargementFTP(tTailleTotale, tTailleTransférée)
SI WArretDemande = Vrai ALORS
RENVOYER Faux
SINON
Jauge(tTailleTransférée, tTailleTotale,"",iRougeClair)
RENVOYER Vrai
FIN

L'appui sur la touche F5 n'est pas détecté durant l'exécution : ou est mon
erreur ?

Cordialement



--
Elle est pas belle la vie ?
Avatar
Dc
Bjr,

Georges Peyre avait prétendu :
En définitive ce n'est pas la fonction FTPRecupere qui est en cause :
Mon problème est donc modifié et devient le suivant :



Meme probleme pour moi avec Ftpenvoie....
si quelqu'un a une reponse
(je sais que mon post ne t'amene rien, mais peut provoquer des reponses
par reactivation du fil..le dimanche, faut les secouer .. :-)) )

a plus


--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Avatar
Georges Peyre
Bonjour

Dc a utilisé son clavier pour écrire :
Georges Peyre avait prétendu :
En définitive ce n'est pas la fonction FTPRecupere qui est en cause :
Mon problème est donc modifié et devient le suivant :






La procédure est dentique avec FTPEnvoie(.....

Cordialement


Global
WArretDemande est un booléen

Evénement("Eve_Fonction","*.*",WM_KEYDOWN)



PROCEDURE Eve_Fonction()
SELON _EVE.wParam
CAS 116 : // 116 = F5
WArretDemande = Vrai
AUTRE CAS
FIN

SI FTPRécupère (nIdConnexion, "testelechargement.txt",
"C:Temp","TéléchargementFTP") ALORS
.......
FIN

PROCEDURE TéléchargementFTP(tTailleTotale, tTailleTransférée)

SI WArretDemande = Vrai ALORS
RENVOYER Faux
SINON
Jauge(tTailleTransférée, tTailleTotale,"",iRougeClair)
RENVOYER Vrai
FIN

--
Elle est pas belle la vie ?
Avatar
Dc
Re..

Georges Peyre avait écrit le 01/07/2007 :
Bonjour

Dc a utilisé son clavier pour écrire :
Georges Peyre avait prétendu :
En définitive ce n'est pas la fonction FTPRecupere qui est en cause :
Mon problème est donc modifié et devient le suivant :






La procédure est dentique avec FTPEnvoie(.....



mais ca marche ca , ou non ?
je croyais que tu disais que ca marchait pas...

a plus

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Avatar
Georges Peyre
Dc a formulé ce dimanche :
Re..

Georges Peyre avait écrit le 01/07/2007 :

La procédure est dentique avec FTPEnvoie(.....



mais ca marche ca , ou non ?
je croyais que tu disais que ca marchait pas...

a plus


Dans un message rectificatif j'ai précisé qu'en réalité ce n'était pas
le FTPenvoie ou FTPRecupere qu'il était impossible d'interrompre mais
c'était l'impossibilité d'interrompre le Thread dans lequel s'exécutait
le FTPEnvoie ou le FTPRecupere

Donc en définitive j'ai favorisé la possibilité d'interruption et je ne
lance plus de Thread : je lance simplement les commandes FTP et
l'interruption marche parfaitement avec ce code.

--
Elle est pas belle la vie ?
Avatar
Dc
Georges Peyre a présenté l'énoncé suivant :
Dc a formulé ce dimanche :
Re..

Georges Peyre avait écrit le 01/07/2007 :

La procédure est dentique avec FTPEnvoie(.....



mais ca marche ca , ou non ?
je croyais que tu disais que ca marchait pas...

a plus


Dans un message rectificatif j'ai précisé qu'en réalité ce n'était pas le
FTPenvoie ou FTPRecupere qu'il était impossible d'interrompre mais c'était
l'impossibilité d'interrompre le Thread dans lequel s'exécutait le FTPEnvoie
ou le FTPRecupere

Donc en définitive j'ai favorisé la possibilité d'interruption et je ne lance
plus de Thread : je lance simplement les commandes FTP et l'interruption
marche parfaitement avec ce code.



merci.... c clair

--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------