MFC und Thread - Probleme mit der Klasse CWinThread

xthing

Grünschnabel
Hi Leute,

ich habe ein paar Probleme mit meiner Klasse CThread, die von CWinThread abgeleitet ist mit dem Klassenassistenten von VC++ erstellt wurde.

Ich möchte dem Konstruktor von CThread einige Parameter übergeben. Da CThread aber DECLARE_DYNCREATE erstellt wird, wird ein Standard Konstruktor benötigt. Also habe ich einen zweiten geschrieben und dann eine Instanz mit CThread thread(m_edit.GetSafeHwnd()); erstellt. Das bringt jedoch nichts, weil damit der Thread nicht startet. Normalerweise wird mit AfxBeginThread(RUNTIME_CLASS(CThread)); der Thread gestartet und die Memberfunktion

BOOL CThread::InitInstance()
{
{

angesprungen. Wenn ich eine Instanz mit
CThread thread(m_edit.GetSafeHwnd()); erstelle, wird nur der Konstruktor durchlaufen aber die Memberfunktion
BOOL CThread::InitInstance() nicht angesprungen und auch kein Thread erstellt. Ich habe die Code für den Thread im Konstruktor untergebracht und so festgestellt, das kein Thread erzeugt wurde.

Ich habe auch schon DECLARE-/IMPLEMENT_DYNCREATE durch DECLARE-/IMPLEMENT_DYNAMIC ersetzt. Dann kommt die Fehlermeldung: Nicht genügend Speicher.

Nun meine Fragen: Welche Parameter muß ich mit
AfxBeginThread() übergeben, damit ich dem Konstruktor Parameter mitgeben kann? Oder gibt es noch eine andere Möglichkeit CThread/CWinThread zu verwenden?

Vielen Dank im voraus für Eure Hilfe.

Grüße
xthing
 
Du kannst Dein Thread-Objekt ganz normal über den Konstruktor erzeugen uind dann die Memberfunktion CreateThread aufrufen.
 
Zurück