[VC++, NT4] CreateThread(...) mit Memberfunktion

Hallo,
(VC++5.0, Win-NT4)
Ich soll den Aufruf von CreateThread(…) in einer Klasse ähnlich wie in Java kapseln, dafür habe ich eine abstrakte Funktion run (virtual DWORD run()=0:wink: definiert, die vom Benutzer der Klasse beim ableiten überschrieben werden muss.
Des weiteren habe ich eine Funktion start, in welcher der Thread dann wirklich gestartet werden soll. Hier ergibt sich folgendes Problem:
Beim Aufruf von

if (hThread==NULL){
 hThread=CreateThread(NULL, // Security
 0, // Stackgröße
 (LPTHREAD\_START\_ROUTINE)this-\>run,// Startadresse 
 NULL, // Parameter
 0, // Startoptionen 
 (LPDWORD)&ThreadID); // ThreadID
}

liefert der Compiler folgenden Fehler:

D:\Uni\sypu\Aufgabe2\BasicThread.cpp(39) : error C2440: 'type cast' : 'ueberladener Funktionstyp' kann nicht in 'unsigned long (\_\_stdcall \*)(void \*)' konvertiert werden
Keine Funktion mit diesem Namen im Gueltigkeitsbereich stimmt mit dem Zieltyp ueberein

Wie muss ich also die ThreadFunktion übergeben, wenn diese eine Memberfunktion ist?

Vielen Dank,
Max

p.s.: Achja, ich bin blutiger Cpp Anfänger, wäre nett, wenn evtl. Antwortende dies berücksichtigen könnten :smile:

Deine Memberfunktion run( ) muß statisch sein, sonst kann sie nicht in CreateThread verwendet werden.

Grüße Safog

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Deine Memberfunktion run( ) muß statisch sein, sonst kann sie
nicht in CreateThread verwendet werden.

Grüße Safog

Dankeschoen, da waere ich glaub’ ich nicht drauf gekommen!

Gruß,
Max