Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3055 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Composants FTP - Threads NEED HELP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Composants FTP - Threads NEED HELP

n°119866
Je@nb
Kindly give dime
Posté le 01-04-2002 à 17:10:30  profilanswer
 

Salut tout le monde (j'espère kil i en aura au moins),
 
Je développe un client FTP particulier pour un site (celui de Max Evans sur ce forum) et je suis confronté à un problème :
J'utilise les composants FTP Indy mais ceux çi font freezé l'application, g pourtant mis le composant Anti Freeze.
Quand par exemple ça télécharge, si j'appuies sur le bouton annuler je peux attendre un bon quart d'heure avant que ça s'arrète. Pareil, g un compteur ki indique le nombre d'octet téléchargé et il se met à jour tt les 30-45 secondes minimum.
 
Pour parer à cela, on m'a conseillé d'utiliser soit les composant ICS soit les threads mais je ne vois pas en quoi les composant ICS vont résoudre mon problème et comment ça marche car je compprend pas trop (tuto qq part ?) et les thread je comprend pas ce que c (enfin je vois en gros) mais à mon avis c cho à implémenter non ?
 
C quoi le mieux a votre avis et comment le mettre en euvre ?
 
PS : je suis newbie n'oubliez pas  :hello:  :hello:

 

[jfdsdjhfuetppo]--Message édité par Je@nb--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 01-04-2002 à 17:10:30  profilanswer
 

n°119867
Buitoni
Posté le 01-04-2002 à 17:14:06  profilanswer
 

L'anti-freeze c'est une vaste masquarade, ca sert pas à grand chose...
 
Je te conseille de le foutre dans un thread effectivement, et oui c'est chaud a implémenter, mais c'est la que c'est fun, non? ;-)
 
Et reste avec Indy, y a des dizaines de gens qui y bossent, c'est supporté par Borland tandis qu'ICS c'est juste une personne (que je salue au passage, c'est un belge, un gars super sympa!).


---------------
Vendredi c'est Buitoni
n°119868
[SDF]Poire
Vive Grumly
Posté le 01-04-2002 à 17:18:18  profilanswer
 

Buitoni a écrit a écrit :

 
Et reste avec Indy, y a des dizaines de gens qui y bossent, c'est supporté par Borland tandis qu'ICS c'est juste une personne (que je salue au passage, c'est un belge, un gars super sympa!).  




 
Sympa et bon  :jap: :)
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°119869
Je@nb
Kindly give dime
Posté le 01-04-2002 à 17:18:33  profilanswer
 

Merci de m'avoir répondu, v tenter les Thread alors si tu le dis  :jap:  :jap:  :jap:  :jap:  
 
Par conte va falloir que je cherche comment c kon fais ça, car g commencé Delphi y a disons 1 mois à même pas 1h par jour  :hap:  :hap:  :hap:  :hap:

n°119873
Je@nb
Kindly give dime
Posté le 01-04-2002 à 17:21:44  profilanswer
 

Alors g trouvé un tuto mais en anglais lol :  
http://www.pergolesi.demon.co.uk/prog/threads/ToC.html
 
je continue ma recherche  :hello:  :hello:

n°119876
Buitoni
Posté le 01-04-2002 à 17:36:26  profilanswer
 

File/New/Thread
 
And voila :-D
 
Tu devrais lire l'aide sur les apis des threads, même si tu les utilises pas directement ca te donnera une idée de comment ca marche.


---------------
Vendredi c'est Buitoni
n°119982
Je@nb
Kindly give dime
Posté le 01-04-2002 à 20:31:01  profilanswer
 

:ouch:  :ouch:  C comme ça kon créé des Thread ??  :ouch:  :ouch:  :ouch:  
Je pensais à un truc plus cho. V regardé l'aide oué car g pas trouvé grand chose à part

n°119995
Buitoni
Posté le 01-04-2002 à 21:04:33  profilanswer
 

C'est comme ca que tu evites de tapper la base pour ton thread, oui.
 
En résumé, tu l'utilises comme une classe normale, sauf que pour tout ce qui ne touche pas au thread en lui même, faut faire gaffe.
 
Genre pour modifier le contenu d'un Edit, tu dois passer par un Synchronize, etc, etc...


---------------
Vendredi c'est Buitoni
n°119998
Je@nb
Kindly give dime
Posté le 01-04-2002 à 21:14:40  profilanswer
 

Oula oué car moi y a plein de trucs en rapport  :D  :D

n°120000
Buitoni
Posté le 01-04-2002 à 21:17:49  profilanswer
 

Synchronize F1 alors ;-)
 
Si tu fais pas ca, ca va t'exploser dans la tronche  :D


---------------
Vendredi c'est Buitoni
mood
Publicité
Posté le 01-04-2002 à 21:17:49  profilanswer
 

n°120002
Je@nb
Kindly give dime
Posté le 01-04-2002 à 21:19:12  profilanswer
 

Lol alors v tester pour un edit alors  :lol:  :lol:  :lol:

n°120027
Je@nb
Kindly give dime
Posté le 01-04-2002 à 22:56:39  profilanswer
 

T1 j'arrive pas du tout à comprendre comment faire pour faire passer tout ce ki touche aux composant FTP sur l'autre Thread.
G compris comment faire pour passer du thread au thread principal en appellant une procédure (d'ailleur je dois l'appeller où ?)
Bref, je galère trop là  :cry:  :cry:  :cry:  :cry:  :cry:

n°120065
Buitoni
Posté le 02-04-2002 à 02:18:43  profilanswer
 

C'est comme ca qu'on apprends  :p  
 
Mais bon, pour les futures questions je pense qu'a chaque fois un bout de code s'impose, non?


---------------
Vendredi c'est Buitoni
n°120085
Je@nb
Kindly give dime
Posté le 02-04-2002 à 09:43:41  profilanswer
 

Oki lol v montrer quelques bout de code parce que là ça comence à être cho.
Je le montre une fois que mon unique heure du cours du matin soit passée, car fo que j aille là  :D  :D  :D

n°120147
Je@nb
Kindly give dime
Posté le 02-04-2002 à 11:54:16  profilanswer
 

Me revoila alors v montrer un peu de mon code :
déjà les composant imlémenté sur ma form :
      Type           Name

  • ChangeBox CBSaison
  • TListView List
  • 2 RadioButton vf et vo
  • TSaveDialog save
  • TIdFTP ftp
  • TPopUpMenu fichier avec dedans un "bouton" (ché pas comment c que ça s'appelle) où c marqué Télécharger {lsdl}
  • TButton btarreter
  • TLabel LBDL
  • TProgressBar PBDL


(le reste n'a pas d'utilité : label, bouton pour quitter ....)
La form principale

  • TFmprinc Fmprinc


 
G fais une procédure pour changer de dossier qui est appellée :

  • au changement de CBSaison
  • au click sur vf ou vo


Code :
  1. procedure Tfmprinc.change(tsaison,voix: string);
  2. var
  3. saison : string;
  4. ListItem : TListItem;
  5. i : integer ;
  6. dossier : TStringList;
  7. begin
  8. dossier := TStringList.Create;
  9. if ftp.Connected then
  10. begin
  11. try  ftp.ChangeDirUp;
  12. ftp.ChangeDirUp; //on remonte à la racine ki est 2 répertoire au dessus (si vous trouvez qqch de plus simple pour aller direct en ho se serai mieux)
  13.   if tsaison = 'Saison 3' then saison := 'saison3'
  14.   else if tsaison = 'Saison 2' then saison := 'saison2'
  15.   else saison := 'saison1' ; //nom des répertoire en fn du contenu du changebox
  16.   ftp.ChangeDir(saison); //on va dans le répertoire correspondant à la saison   
  17. ftp.ChangeDir(voix); // on va dans le répertoire vf ou vo   
  18. ftp.List(dossier,'*.avi',false); // on enregistre dans dossier la liste sommaire (nom de fichier uniquement) des .avi
  19. except showmessage('Marche po'); end; //sinon ça marche pas
  20. List.Clear; //on vide le TlistView
  21. for i:=0 to dossier.Count-1 do
  22.   begin
  23.     ListItem := List.Items.Add; //on affiche dans le TlistView le nom du fichier     
  24. ListItem.Caption := dossier.Strings[i]; // élément de la 1ere colonne
  25.   end;
  26. end
  27. else
  28.   try ftp.Connect(); change(CBsaison.Text,voix)except ShowMessage('Connection Impossible');  end; //si on est pas connecter on essaie de le faire
  29. dossier.Free;
  30. end;
  31. Voila pour la procédure de changement de saison.
  32. Alors je veux mettre dans le thread ftp.connect et le ftp.changedirup ftp.changedir(saison) ... ftp.List(dossier,'*.avi',false)


Et je ne c pas comment on fait ça
 
Sinon on m'a parlé de BeginThread et EndThread, mais c moins bien qu'une classe non ?

 

[jfdsdjhfuetppo]--Message édité par Je@nb--[/jfdsdjhfuetppo]

n°120307
Je@nb
Kindly give dime
Posté le 02-04-2002 à 15:41:30  profilanswer
 

Personne ?
[:schumacher]

n°120465
Je@nb
Kindly give dime
Posté le 02-04-2002 à 18:55:50  profilanswer
 

[:schumacher]  
:hap:  :hap:  :hap:  :hap:

n°120483
Buitoni
Posté le 02-04-2002 à 20:06:55  profilanswer
 

Sorry, je regarderai a ton code plus tard, je t'oublie pas mais je suis trop a la bourre la  :D


---------------
Vendredi c'est Buitoni
n°120486
Je@nb
Kindly give dime
Posté le 02-04-2002 à 20:38:51  profilanswer
 

lol oki c sympa  :hello:  :hello: .
Tu es le seul à avoir utiliser les fonctionnalité réseaus et les thread sur Delphi ?
 
D'ailleur v recentrer le sujet sur les thread

n°120490
Buitoni
Posté le 02-04-2002 à 20:45:50  profilanswer
 

Non, poire est aussi apte que moi dans le domaine  ;)


---------------
Vendredi c'est Buitoni
n°120494
Buitoni
Posté le 02-04-2002 à 20:52:05  profilanswer
 

Bon alors, tu fais le thread comme je t'ai dis, et tu fous des propriétés a la classe (ou des variables publiques comme tu veux) avec les infos dont tu as besoin dans la procédure, ok?
 
Ensuite tu crees ton thread et tu fous le OnTerminate a une procédure dans ton form.
 
Et dans l'execute de ton  thread tu fais ton traitement et tu stockes les resultats dans des variables publiques de nouveau, y a plus qu'a utiliser ses variables dans la procédure appelée par le OnTerminate et voila.
 
En gros résumé hein  :sol:


---------------
Vendredi c'est Buitoni
n°120495
Max Evans
Posté le 02-04-2002 à 20:52:07  profilanswer
 

:hello:  :hello:  :hello:  
Merci pour le prog ;) :jap:


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
n°120500
Je@nb
Kindly give dime
Posté le 02-04-2002 à 21:02:01  profilanswer
 

Buitoni a écrit a écrit :

Bon alors, tu fais le thread comme je t'ai dis, et tu fous des propriétés a la classe (ou des variables publiques comme tu veux) avec les infos dont tu as besoin dans la procédure, ok?
 
Ensuite tu crees ton thread et tu fous le OnTerminate a une procédure dans ton form.
 
Et dans l'execute de ton  thread tu fais ton traitement et tu stockes les resultats dans des variables publiques de nouveau, y a plus qu'a utiliser ses variables dans la procédure appelée par le OnTerminate et voila.
 
En gros résumé hein  :sol:  




 
 :heink:  :heink:  :heink: Rien compris  :??:  :??:  :??:

n°120508
[SDF]Poire
Vive Grumly
Posté le 02-04-2002 à 21:18:47  profilanswer
 

Buitoni a écrit a écrit :

Non, poire est aussi apte que moi dans le domaine  ;)  




eh eh pas pour les threads  :D  
Et C toi le pro des Indy :D  :jap:  
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°120537
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-04-2002 à 22:18:52  profilanswer
 

Buitoni a écrit a écrit :

Non, poire est aussi apte que moi dans le domaine  ;)  




 
Bel essai de déléguation de la responsabilité du topic sur Poire :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°120538
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-04-2002 à 22:19:12  profilanswer
 

[SDF]Poire a écrit a écrit :

 
eh eh pas pour les threads  :D  
Et C toi le pro des Indy :D  :jap:  
 :hello:  




 
Bel essai pour faire "comme si" tu ne savais rien :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°120540
[SDF]Poire
Vive Grumly
Posté le 02-04-2002 à 22:28:11  profilanswer
 

antp a écrit a écrit :

 
 
Bel essai pour faire "comme si" tu ne savais rien :D  




non si j'avais su j'aurais répondu.... et tu peux demander à Buitoni G une incompatibilité avec les threads pour le moment... mais j'essaye de patcher....
quand ce qui est des Indy.... ça m'a tjs bruler les touches du clavier.... donc j'y touche pas pour le moment....
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°120554
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-04-2002 à 22:44:08  profilanswer
 

Moi c'est pas mieux : j'ai jamais touché aux threads, et à part le TIdHTTP j'ai jamais utilisé les compos Indy :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°120555
Buitoni
Posté le 02-04-2002 à 22:44:09  profilanswer
 

Je@nb a écrit a écrit :

 
 
 :heink:  :heink:  :heink: Rien compris  :??:  :??:  :??:  




 
 :(  
 
Relis  3 fois sans respirer  [:banzai]


---------------
Vendredi c'est Buitoni
n°120557
Buitoni
Posté le 02-04-2002 à 22:44:38  profilanswer
 

antp a écrit a écrit :

Moi c'est pas mieux : j'ai jamais touché aux threads, et à part le TIdHTTP j'ai jamais utilisé les compos Indy :D  




 
Vous battez pas... Vous voulez pas répondre on a compris  :D


---------------
Vendredi c'est Buitoni
n°120561
[SDF]Poire
Vive Grumly
Posté le 02-04-2002 à 22:46:40  profilanswer
 

Buitoni a écrit a écrit :

 
 
Vous battez pas... Vous voulez pas répondre on a compris  :D  




 :p  
pas vrai mais pas envie de m'y mettre  :ange:  
Et je suis pas en mesure de répondre.... on peut pas répondre à tout... (heureusement....)
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°120750
Je@nb
Kindly give dime
Posté le 03-04-2002 à 12:26:00  profilanswer
 

Après avoir lu, ton message et l'aide, je comprend un peu mieux mais alors v devoir faire thread pour le listage des répertoire, un thread pour le DL du fichier alors je pense.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Composants FTP - Threads NEED HELP

 

Sujets relatifs
creation d'un site portail HELP![C++ builder et Delphi] pb de debuggueur par defaut sous 2k
[DELPHI] Winexec[ASP/VBSCRIPT] Help me plz....
[Premier pas en delphi] InputQuery ??? , Creation d'un menu???[DELPHI] mediaplayer
[HELP ] comment activer des macros désactiver !!?.???????[Delphi] Question à propos du Form principal
plus grand que plus petit que en assembleur HELP[VC++] pb de memory leaks :( help..
Plus de sujets relatifs à : [Delphi] Composants FTP - Threads NEED HELP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR