Compiler-Fehler bei Thread-Definition



  • Hallo,

    ich habe ein kleines Problem. Ich habe folgenden Thread geschrieben:

    #include "stdafx.h"
    #include "SchedulerDlg.h"
    #include "Threads.h"
    
    CEvent g_Exit;
    
    UINT Progress(LPVOID data)
    {
    	double i=0;
    	CSchedulerDlg* pDlg = (CSchedulerDlg*)data;
    	//CClientDC pDlg((CWnd*) data);
    	for(i=0;i<100;i=i+0.0001)
    	{if(WaitForSingleObject(g_Exit,0)==WAIT_OBJECT_0)
    	{//AfxMessageBox("gedrückt",MB_OK|MB_ICONINFORMATION);
    	return 1;}
    		pDlg->m_sPro.SetPos(i);
    	i=i+0.0001;
    	}
    
    	AfxEndThread(0);
    	return 0;
    }
    

    In SchedulerDlg.h ist die Klasse CSchedulerDlg definiert. Ich bekomme immer beim Kompilieren "error C2065: 'IDD_SCHEDULER_DIALOG': nichtdeklarierter Bezeichner" in der Klasse CSchedulerDlg. Das ist dann folgende Zeile:

    enum { IDD = IDD_SCHEDULER_DIALOG };
    

    Wenn ich aus dem Thread die Include der Klasse rausnehme:

    #include "SchedulerDlg.h"
    

    geht es muss dann aber alles was damit zusammenhängt auch rausnehmen. Also das Problem hängt irgendwie damit zusammen, dass ich die Klasse im Thread verwende.

    Kann mir jemand helfen wie ich das Problem beseitigen kann.

    Grüße



  • Versuch einfach mal die resource.h in die SchedulerDlg.h einzubinden.



  • Hallo,

    danke für die Hilfe, das funktioniert auch. Danke

    Kann mir auch jemand verraten warum das so sein muss?

    Grüße Christoph


Anmelden zum Antworten