Borland c++ builder probleme pour utiliser un idFTP dans un TThread

Borland c++ builder probleme pour utiliser un idFTP dans un TThread - C++ - Programmation

Marsh Posté le 24-10-2005 à 19:48:29    

Bonjour  tout le monde,  
j'ai un petit problème pour utiliser un composant Indy FTP dans une thread.
 
Tout d'aboird je tiens à dire que j'ai fait des echerche y compris sur ce forum et que les solutions proposées ne correspondent pas à ce que je cherche.
 
En fait je veux faire un client ftp multi thread donc en déclarant en attribut un  
 
TIdFTP *client;
 
dans la classe ftpthread ce qui ne marche pas.
 
J'ai aussi essayé de passer le *client en le déclarant dans la classe pricipale (celle de la Form) en paramètre au constructeur de la ftpthread, pareil : Access violation.
 
En fait le seul truc qui marche c'est lorsque je depose un idFTP sur la form et que j'y accède à partir de la thread avec fenetre->client->Connect();
 
Pour en avoir le coeur net j'ai essayé de déclarer le client comme les autres attributs de la Form mais sans déposer l'element sur la form... et dans ce cas là ca marche pas non plus...
 
Donc en fait il faut obligatoirement que l'element soit déposé sur la fenetre sinon je peux pas en creer de nouveaux dynamiquement ...
 
Quelqun a-t-il déja eu le problème ou pourrait m'aider svp?
 
Merci d'avance

Reply

Marsh Posté le 24-10-2005 à 19:48:29   

Reply

Marsh Posté le 25-10-2005 à 11:20:31    

up du midi !

Reply

Marsh Posté le 14-11-2005 à 00:08:51    

Bonjour,
je suis actuellement sur un projet de client FTP avec un composant TIdFTP et je constate comme vous qu'il n'est pas pas possible de l'utiliser sans le déposer sur la fiche principale. En tout cas j'ai pas trouver la solution moi non plus si il y en a une. Par contre j'ai un autre problème, l'éxécution de la fonction GET ne me déclenche pas les événements OnWorkBegin et OnWorkEnd dont j'ai besoin pour faire progresser une ProgressBar.
Auriez-vous une idée?
Ma connexion au serveur est bonne, je récupère bien le fichier voulu mais aucun événement de déclenché..
Merci d'avance.

Reply

Marsh Posté le 14-11-2005 à 13:12:39    

leycho a écrit :

et je constate comme vous qu'il n'est pas pas possible de l'utiliser sans le déposer sur la fiche principale.


 
Bah si, ça marche. Mais dans le problème énoncé plus haut c'est parce qu'il utilise un objet VCL directement dans un thread, on ne peut pas faire ça comme ça.
Si on crée le TIdFTP par code, il suffit d'assigner des procédures à ses OnWorkBegin et OnWorkEnd. Il faut voir si'l n'y a pas d'autres propriétés à assigner par code pour avoir l'équivalent du composant déposé sur la Form (tout ce qu'on modifie via l'éditeur de propriété en fait).


Message édité par antp le 14-11-2005 à 13:12:55

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-11-2005 à 10:25:26    

oki autant pour moi,
par contre j'ai un autre problème avec ma fonction get, je viens de m'apercevoir qu'une fois cette fonction executée, je ne peux plus faire de nouveau get ou put ça me déclenche une exception avec un message d'erreur "commande inconnue". Auriez-vous une idée ?

Reply

Marsh Posté le 15-11-2005 à 10:56:36    

J'ai jamais utilisé le TIdFTP, juste le TIdHTTP, donc là je ne peux pas aider plus :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

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