PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → [WB10] AJAX : Jauge utilisable avec transfert FTP ?
[WB10] AJAX : Jauge utilisable avec transfert FTP ?
Iniciado por freddie3, mar., 15 2006 10:42 AM - 3 respostas
Publicado em março, 15 2006 - 10:42 AM
Bonjour,
Je souhaiterais afficher une jauge de progression pendant un transfert FTP.
Pour bien comprendre le mécanisme, j'ai utilisé le projet d'Olivier, récupéré sur les Wtablettes,
en remplaçant (dans la page Jauge) le contenu de la procédure <pTraitement> par mon transfert FTP.

J'ai une erreur JS : eval("CELJAUGE").width=(VNVAL+" %");

Est-ce du au fait que (je cite l'aide): La fonction FTPRécupère est une fonction bloquante : aucune
autre action ne peut être effectuée jusqu'à la fin du transfert en cours.

Ou est-ce moi qui m'y prends mal?

Merci de votre aide.
Freddie

--
freddie3@wanadoo.fr
Publicado em março, 15 2006 - 11:22 AM
Salut,

le code javascript que tu mentionnes est pour dimensionner la jauge à une taille donnée (en %). Si c'est bien cette
ligne qui cause une erreur, il faut regarder que c'est le bon objet (ici CELJAUGE) qui est référencé correctement. Pour
cela, il me faudrait le code HTML source de la page.

Sur l'autre point que tu mentionnes : la fonction FTPRécupère peut appeler une procédure pour contrôler la progression
du transfert (dixit l'aide) donc on doit pouvoir mettre à jour la variable globale dont on se sert pour la taille de la
jauge par ce biais.
Il faut cependant encore transférer la valeur au navigateur. Je te conseille de bien reprendre l'exemple que j'avais
fait et d'executer ton transfert dans un thread. Ainsi, le thread maitre n'est pas bloqué et il peut transférer des
données au navigateur.

En espérant t'avoir aidé.

Bon dev,

Olivier

Freddie a exprimé avec précision :

Bonjour,
Je souhaiterais afficher une jauge de progression pendant un transfert FTP.
Pour bien comprendre le mécanisme, j'ai utilisé le projet d'Olivier, récupéré sur les Wtablettes,
en remplaçant (dans la page Jauge) le contenu de la procédure <pTraitement> par mon transfert FTP.

J'ai une erreur JS : eval("CELJAUGE").width=(VNVAL+" %");

Est-ce du au fait que (je cite l'aide): La fonction FTPRécupère est une fonction bloquante : aucune
autre action ne peut être effectuée jusqu'à la fin du transfert en cours.

Ou est-ce moi qui m'y prends mal?

Merci de votre aide.
Freddie

--
freddie3@wanadoo.fr


Publicado em março, 15 2006 - 12:21 PM
Freddie a exprimé avec précision :

Bonjour,
Je souhaiterais afficher une jauge de progression pendant un transfert FTP.
Pour bien comprendre le mécanisme, j'ai utilisé le projet d'Olivier, récupéré sur les Wtablettes,
en remplaçant (dans la page Jauge) le contenu de la procédure <pTraitement> par mon transfert FTP.

J'ai une erreur JS : eval("CELJAUGE").width=(VNVAL+" %");

Est-ce du au fait que (je cite l'aide): La fonction FTPRécupère est une fonction bloquante : aucune
autre action ne peut être effectuée jusqu'à la fin du transfert en cours.

Ou est-ce moi qui m'y prends mal?

Merci de votre aide.
Freddie

--
freddie3@wanadoo.fr



Olivier Priser avait soumis l'idée :
Salut,

le code javascript que tu mentionnes est pour dimensionner la jauge à une taille donnée (en %). Si c'est
bien cette ligne qui cause une erreur, il faut regarder que c'est le bon objet (ici CELJAUGE) qui est
référencé correctement.


C'est la valeur nVal % qui est à zéro, et qui provoque cette erreur. En fait, c'est la mise à jour
de cette valeur de progression que je n'arrive pas à maitriser.

Sur l'autre point que tu mentionnes : la fonction FTPRécupère peut appeler une procédure pour contrôler
la progression du transfert (dixit l'aide) donc on doit pouvoir mettre à jour la variable globale dont on
se sert pour la taille de la jauge par ce biais.
Il faut cependant encore transférer la valeur au navigateur. Je te conseille de bien reprendre l'exemple
que j'avais fait et d'executer ton transfert dans un thread. Ainsi, le thread maitre n'est pas bloqué et
il peut transférer des données au navigateur.


Le FtpRécupère() est bloquant, mais il peut passer à une procédure les valeurs (ponctuelle et
totale) du transfert, tous les 64k. Je "sens" qu'il faut se servir de ces valeurs pour mettre à
jour la jauge, dans AffStatut(), mais je ne vois pas trop comment faire ...

Freddie

>

--
freddie3@wanadoo.fr
Publicado em março, 15 2006 - 12:56 PM
nVal ne peut effectivemet pas être égale à 0 % ou 0 tout court (c'est pour ça que j'ai mis 1 comme valeur initale).
Tu peux cependant gérer cela par programmation facilement.

Dans AffStatut, tu n'as rien à faire avec des fonctions FTP. C'est une procédure navigateur qui ne fait que dimensioner
la cellule en fonction des valeurs reçues du serveur.
Il faut que tu mettes tes fonctions FTP dans la procédure pTtraitement().
ensuite avec la procédure que tu appelles depuis FTPRécupère, il faut que tu mettes à jour la variable globale
nStatutTraitement avec une valeur de 1 à 100.

Bon dev,

Olivier