Application->HandleMessage()



  • Ich schreibe an einem Server Programm das an mehrere Benutzer gleichzeitig eine message schickt. Bevor die message zum nächsten Benutzer gesendet wird, soll nachgefragt werden bzw. gewartet werden bis sie gesendet wurde.

    Ich habe nun also eine for-schleife in der ich den text versende. In dieser for-schleife ist nun eine while-schleife die solange wartet bis die message gesendet wurde. Das ganze sieht so aus:

    - for-schleife: sende erste message an Benutzer x
    - forschleife -> while-schleife: warte nun so lange bis das Ereignis "MsgSend" ausgeführt wird.

    also die while-schleife sieht so aus:

    while(hSend == false)
    {
        Application->HandleMessage();
    }
    

    im Server Event "MsgSend" steht drin:

    hSend = true
    

    damit while also beendet wird und die for-schleife wieder an den anfang kann und die message an den nächsten Benutzer senden. Jetzt das Problem: Anscheinend empfange ich dieses handle nicht? Jedenfalls läuft die while-schleife endlos, obwohl die message an den ersten Benutzer eigentlich gesendet wurde.



  • Habe noch etwas vergessen. So sieht es besser aus:

    hSend = false;
    Sende_Funktion()....
    while(hSend == false)
    {
        Application->HandleMessage();
        //wird nun von "MsgSend" hSend auf true gesetzt, hört die schleife ja auf.
        //for-schleife geht also wieder an den anfang...
        //hSend = false; muss ja gemacht werden sonst wäre sie ja auf true, somit-
        //würde die while-schleife nicht reagieren.
    }
    

Anmelden zum Antworten