Thread hin Thread her...



  • Ich möchte ein Programm erstellen, das Dateien kopiert und dabei ein Progressbalken den Vorgang beschreibt. Nun hab ich denk ich mal herausgefunden das man dies mittels der Threads hinbekommen soll.

    Und hier nun die Frage, wie funktionieren die Threads?
    Ich hab das Tutorial "CPP in 21 Tagen" (oder so ähnlich) mir angeschaut, aber bin fast blöde geworden als die mir erst mal eine ganze Klasse zum Programmieren hingehauen haben. Kann mir jemand erklären wie Threads zu Programmieren sind, bzw. mir ein oder mehrere Tutorials geben???

    Wäre sehr dankbar für Hilfe.

    Cu CaseModder 🙂



  • hi

    nun eine variante wäre ein worker-thread
    such mal danach ...

    im prinzip musst du nur
    pThread=AfxBeginThread(ThreadProc, GetSafeHwnd(), THREAD_PRIORITY_NORMAL);

    auf rufen
    irgendwo oberhalb
    machst du dann z.b
    UINT ThreadProc(LPVOID pParam)
    {
    double val=0.0;

    for (int x=0; x<11160; x++)
    {
    Sleep(100);
    ::PostMessage((HWND)pParam,WM_ENDTHREAD,0,0);
    }
    return 0;
    }

    und in der message map steht z.b
    ON_MESSAGE(WM_ENDTHREAD,BlasBlaFunc)

    damit könntest dann eine methode aufrufen

    CMyKlass::BlasBlaFunc()
    {

    }

    nach return wird der thread beendet ....
    hilft dir das ?? ich weiß etwas wage ausgedrückt aber frag nach !

    mfg martin



  • so ein richtig cooles buch für c++ hab ich auch noch nicht gefunden 😃
    was mir zu threads sehr geholfen hat
    http://www.henkessoft.de/mfc_einsteigerbuch_kapitel17.htm
    ist wirklich gut!



  • martin_zi schrieb:

    hi
    pThread=AfxBeginThread(ThreadProc, GetSafeHwnd(), THREAD_PRIORITY_NORMAL);
    mfg martin

    Martin, besteht ein Unterschied, ob ich

    GetSafeHwnd()
    

    oder

    (LPARAM)this
    

    übergebe? wobei 'this' sich auf die Dialogklasse bezieht, weil der Aufrug innerhalb der DLG-Klasse ist.


Anmelden zum Antworten