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