Thread - verliere Wert



  • Hallo liebe MFC-Fans ;),

    zuerst mal mein Codeschnipsel :-):

    void CSearch::search(string actDir)
    {
    	test = actDir;
    	CWinThread* pThread = AfxBeginThread(ThreadSearch, (LPVOID) &test);
    }
    
    UINT CSearch::ThreadSearch(LPVOID pParam)
    {
    	char* actDir = (char*)pParam;
    	char testi = *actDir;
    	//String ^actDir = gcnew String(*(CString*)pParam);
    
    	/*try
    	{
    		array<String^> ^files = System::IO::Directory::GetFiles(actDir);
    		for each(String ^f in files) 
    		{
    			Beep(1000,100);
    			Console::WriteLine(System::IO::Path::Combine(actDir, f)); 
    		} 
    
    		array<String^> ^subDirs = System::IO::Directory::GetDirectories(actDir); 
    		for each(String ^d in subDirs) 
    		{
    			ThreadSearch(&d); 
    		}
    	}
    	catch( ... )
    	{
    		;	//do nothing n go on
    	}*/
    	return 0;
    }
    

    Beide sind in einer Klasse, testi ist eine Klassevariable. Es hakt nun daran, dass ich "test" nicht an das Thread übergeben bekommen. Kommt (zufällig?) immer nur 0 an :-\

    Irgendein cast oder pointerproblem, oder?

    Viele Grüße
    Chrisitan und Danke schonmal 😉



  • Bist du sicher, daß du hier richtig bist? C++/CLI hat sein eigenes Board (und die Konvertierungen string->void*->char* sehen mir etwas gewagt aus).



  • Dieser Thread wurde von Moderator/in CStoll aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • zu string konvertieren/casten reicht mir...

    ich probiere nur mit diesem quelltext


Anmelden zum Antworten