Thread in MFC



  • Hi, es geht um folgendes .. ich hoffe ihr habt nen tipp:
    Ich habe eine MFC Anwendung in der ein CFileDialog geoeffnet wird und anschliessend mit den ausgewählten Dateien etwas gemacht wird (Berechnungen etc.) Nun möchte ich dem User aber auch gleichzeitig während der Berechnungen
    die Möglichkeit geben diese abzubrechen.
    Wie geht man da vor?

    Muss ich da Threads benutzen?

    Danke



  • Hallo,

    wenn du die Berechnungen gleichzeitig und unabhängig vom
    eigentlichen Programm-Thread ausführen möchtest,
    gibt es die möglichkeit CWinThread zu benutzen.
    Zuerst definierst du einen CWinThread Zeiger.

    CWinThread* p_winthread = NULL;
    

    Eine Funktion die du für die Berechnung benötigst.

    static void ThreadFunktion(void* struktur);
    

    Diese Funktion kannst du mit

    p_winthread = AfxBeginThread(Übergabestruktur);
    

    starten.
    Mit SuspendThread anhalten und mit ResumeThread fortsetzen.
    Beenden mit AfxEndThread.
    Weiters kannst du die Priorität des Threads
    mit SetThreadPriority() (oder so ähnlich) festlegen.
    Ich hab jetzt nicht die MSDN auf diesen Computer instal.,
    daher solltest du dir selber nochmal genauer die
    Funktionen in der MSDN nachlesen.

    mfg tomb


Anmelden zum Antworten