Wie kann man einem Thread (_ulbeginthreadex) mehrere Werte übergeben(CString,int)



  • Hallo zusammen,

    WinXP Prof., MS Visual C++ 6.0

    Ich würde gerne einem Thread 4 Werte übergeben, am besten 4 Zeiger auf einen Vektor, da sich der Inhalt der Zeiger ändern kann und der Thread darauf reagieren soll...

    Vielen Dank
    MfG Dippi



  • Du musst einfach eine Struktur definieren die alles enthält was Du brauchst...

    typedef struct MeineDatenFuerDenThread
    {
      std::string szParam1
      DWORD dwWert2;
      // usw.
    } MeineDatenFuerDenThread;
    
    DWORD WINAPI MyThread(LPVOID pData)
    {
      MeineDatenFuerDenThread *pParams = (MeineDatenFuerDenThread*) pData;
    
      // Mache jetzt irgendwas damit...
    
      delete pParams;
    }
    
    HANDLE StarteThread()
    {
      MeineDatenFuerDenThread *pThreadDaten = new MeineDatenFuerDenThread;
      // setze jetzt die Daten
      //pThreadDaten->
    
      DWORD dwThreadId;
      return (HANDLE) _beginthreadex(NULL, 0, MyThread, pThreadDaten, 0, &dwThreadId);
    }
    


  • Vielen Dank, werd ich gleich mal testen


Anmelden zum Antworten