Avatar billede -simit- Nybegynder
27. februar 2002 - 17:25 Der er 4 kommentarer og
1 løsning

AfxBeginThread - Hjælp

UINT CMyClass::ThreadFunc(LPVOID lParam)
{
  // My code
}

void CMyClass::StartThread()
{
  CWinThread *pMyThread = AfxBeginThread(ThreadFunc, (LPVOID) strTest);
}

jeg for af vide at 1. parameter givet til AfxBeginThread ikke kan konventeres fra typen 'unsigned int (void *)'

Hvorfor for jeg den fejl?
Avatar billede chries Nybegynder
27. februar 2002 - 21:59 #1
AfxBeginThread skal have en standard C/C++ function (ikke klasse medlem)  f.eks:

UINT MyControllingFunction( LPVOID pParam );

eller en klasse nedarvet fra CWinThread.

Se:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_MFC_AfxBeginThread.asp
Avatar billede -simit- Nybegynder
27. februar 2002 - 22:04 #2
hmm..
Jeg sidder og læser Sams Teach Yourself Visual C++ in 21 days og der står at man skal gøre som jeg har skrevet ovenfor, men , nu prøver jeg at lave det om og se om du har ret...
Avatar billede jpk Nybegynder
05. marts 2002 - 11:31 #3
Man kan udmærket bruge en memberfunktion af klassen!

Prøv at erklære den i din klasse som:

static UINT ThreadFunc(LPVOID);
Avatar billede chries Nybegynder
05. marts 2002 - 16:20 #4
uanset om det virker, så er der et men :-)

statiske funktioner kun pille i statiske data og kun kalde statiske funktioner. I praksis ville det sige man kun kan have en instans, alle instanser oprettet derefter ville alle referere til de samme variable/data.

In C++, when modifying a data member in a class declaration, the static keyword specifies that one copy of the member is shared by all the instances of the class. When modifying a member function in a class declaration, the static keyword specifies that the function accesses only static members.
Avatar billede chries Nybegynder
05. marts 2002 - 16:23 #5
..alle variable din ThreadFunc skulle kunne pille ved..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester