TinTin Geschrieben 13. Mai 2005 Teilen Geschrieben 13. Mai 2005 folgene Situation: DWORD WINAPI CMp3ListDlg::threadprc(LPVOID parameter) { CString filter(".mp3"),csMeld; csMeld = _T("Suche Dateien, Bitte Warten ..."); SetDlgItemText(IDC_STATIC_LIST_FILE,csMeld); int iFound = searchDir(m_csStartPath,filter); csMeld.Format(_T("Gefundene Dateien : %d"),iFound); SetDlgItemText(IDC_STATIC_LIST_FILE,csMeld); } DWORD WINAPI threadprc(LPVOID); DWORD dwThreadId; HANDLE hThread = CreateThread( NULL, 0, threadprc, NULL, 0, &dwThreadId ); und ich bekomme folgenden fehler D:\__projekte\_mp3\mp3List\mp3ListDlg.cpp(399) : error C2664: 'CreateThread' : Konvertierung des Parameters 3 von 'unsigned long (void *)' in 'unsigned long (__stdcall *)(void *)' nicht moeglich Was sehe ich nicht??? Was mach ich falsch??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Manfred.Becker Geschrieben 17. Mai 2005 Teilen Geschrieben 17. Mai 2005 Hi TinTin, du verwendest eine Klassenfunktion als Thread-Funktion. Das geht so nicht. Eine Thread-Funktion muss global sein. Entweder du deklarierst deine Klassenfunktion static (damit wird sie global), static DWORD WINAPI threadprc(LPVOID parameter); oder nimmst sie ganz raus aud der Klasse und machst einfach 'ne globale Funktion daraus. DWORD WINAPI threadprc(LPVOID parameter) { ... }[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.