T
Man beachte, dass lokale Variablen nur innerhalb der eigenen Funktion gültig sind.
Daher: Membervariablen erstellen (private!) und anschliessend eine getmethode schreiben (public).
...dann kannst du darauf zugreiffen.
Solange du keine Zeiger auf lokale Variablen übergibst ist das kein problem, da die Werte kopiert werden.. Allerdings kann man vom Workerthread nicht direkt auf Membervariablen zugreifen, da die Funktion static sein muss..
Du kannst als zweiten Parameter der Funktion AfxBeginThread einen Parameter mitgeben, der dann an die Worker-Thread-Methode (muss static sein, kann nicht auf members zugreifen) übergeben wird. Da kannst du zum Beispiel den this-Zeiger mitgeben und dann aus der Workerthread-Methode über einen Cast des Zeiger's eine nicht statische Memberfunktion aufrufen, diese kann dann auf Membervariablen zugreifen, die du vorher natürlich füllen musst
UINT CMyDoc::startthread(LPVOID pParam)
{
static_cast<CMyDoc*>(pParam)->ArbeitsThread();
return true;
}
aufrufen tust du das ganze mit
AfxBeginThread(startthread, this);
mfg
tobi