Bonjour a tous,
Je débute avec les thread et je galére un peu pour faire passer une structure contenant un pointeur sur un vecteur qui contien lui un pointeur vers un objet.
La classe HTTP gère le téléchargement de 1 fichier et le classe HTTPThread dois créer un thread et crée un objet HTTP pour chaque téléchargement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2private: std::vector<HTTP*> tab;
Je sais que ce n'est pas très propre mais je ne vois pas comment faire d'autre pour gérer plusieurs téléchargements en parallèles. Je ne comprends pas ce qui cloche quand je passe la structure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 struct sThread { vector<HTTP*> *tab; string url; }; int HTTPThread::DownloadThread(string url) { sThread a; a.tab = &tab; a.url = url; CreateThread ( NULL, NULL, ThDownload, &a, 0, &dwThreadId ) ; return 0; } DWORD WINAPI HTTPThread::ThDownload ( LPVOID IpvThreadParam ) { sThread *tr = (sThread *)IpvThreadParam; HTTP Download; tr->tab->push_back(&Download); Download.Download(tr->url,""); return 0; }
Merci d'avance
Partager