dans une de mes class j'ai à lancé un thread pour effectuer du traitement sur une pile.
déja...je sais qu'il existe le composant TThread, mais je ne désire pas l'utiliser
a la compilation du code suivant:
j'obtien quelques messages très significatif :p ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 LPDWORD dwThreadId; DWORD dwThrdParam ; this->hThread = CreateThread( NULL, 0, this->ThreadFunc, &dwThrdParam, 0, dwThreadId); //<- ici ligne 59
dans le code on trouve ""LPDWORD dwThreadId;"" certains noterons que dans certain tuto..et même selon msdn...c'est plutot un DWORD....et pourtant...ailleur dans la msdn on trouve LPDWORD[C++ Erreur] ftig_stack.cpp(59): E2034 Impossible de convertir 'unsigned long (__stdcall * (_closure )(void *))(void *)' en 'unsigned long (__stdcall *)(void *)'
[C++ Erreur] ftig_stack.cpp(59): E2342 Mauvaise correspondance de type dans le paramètre 'lpStartAddress' ('unsigned long (__stdcall *)(void *)' désiré, 'void' obtenu)
( http://msdn2.microsoft.com/en-us/library/ms682516.aspx et http://msdn2.microsoft.com/en-us/library/ms682453.aspx )
bref..j'ai essayé avec les 2..sans réussir.
je ne sais pas trop quoi faire pour berné mon compilo (ex. ajouté des trucs comme (void *) devant ...ca s'appel comment cette méthode.."casting" non ?)
j'en ai essayé quelques combinaisons selon les trucs renvoyé par les messages d'erreures
Partager