Programm reagiert nicht wärend schleife



  • Hallo, in meinem Programm soll bei betätigung des Startknopfes folgendes passieren:

    for(int ischleife = ivon;ischleife <= ibis;ischleife=+ischleife+istep){
     memset(szBuffer,0,sizeof(szBuffer));
     sprintf(szBuffer,"%i",ischleife);
     SetWindowText(status,szBuffer);
     Beep(ischleife,ilaenge);
    }
    

    Das Problem ist nur, solange dies läuft reagiert das Programm nichtmehr, also kann man auch keinen Stopknopf betätigen wärend des ablaufes (sonnst kommt "keine rückmeldung"). Wie kann ich das umgehen?



  • Keine Schleife machen?
    Verwende z.B. einen Timer um den Zähler zu erhöhen...



  • Danke für deine Antwort, aber bei Beep wird doch eine länge angegeben, wärend dieser Zeit wird doch das gleiche Problem auftreten. Also wenn ich bei der Zeit 10Sekunden eingebe wird das Programm dann auch 10sek nicht reagieren oder irre ich mich da?



  • Da hast DU das gleiche Problem. Nimm lieber PlaSound mit dem Asnyc-Flag...



  • Die Antworten von Jochen sind sicher bereits die besten.

    Wenn es unbedingt sein müsste könnte man das ganze auch ein einen WorkerThread packen und mit niedriger Priorität werkeln lassen.


Anmelden zum Antworten