WaitForSingleObject und UpdateWindow



  • Hi,

    1. Wie kann ich verhindern, das im Taskmanager es so ausschaut, das mein Programm abgestürzt ist (not responding), wenn ich in meinem Programm mit WaitForSingleObject auf einen Thread warte?

    2. In dem Zusammenhang stellt sich mir auch das Problem, das ich nur den Zeichenbereich meines Fensters neu zeichnen lassen kann (aus dem Thread heraus). Aber nicht das Menü des Hauptprozesses. Was muss ich tun? UpdateWindow aktualisiert nur den DC.

    ? 💡 ?

    Vielen Dank
    Milky



  • Kennst du schon TApplication::ProcessMessages? (Siehe BCB-Hilfe)

    Und weil hier der Grundsatz "Pro Frage 1 Thread, pro Thread 1 Frage" gilt, werde ich die zweite Frage nicht beantworten, bis du diese Frage in einen weiteren Thread verlagert hast (da die ja nix mit ProcessMessages zu tun hat). Wobei ich vermute, dass sich die zweite Frage unter Umständen erübrigt.

    -junix



  • Kannst du mir bitte mal den Link zur BCB-Hilfe schreiben? Ich find sie einfach nicht. (oder ist es die Hilfe die ich daheim habe? Wenn ja, wo kann ich sie mir neu runterladen, da die einige Fehler hat...)

    Außerdem existiert nur ProcessAppMsg() bei meiner Borlandversion 5.02 - jedenfalls steht nur das in meiner Hilfedatei...

    Aber funktionieren tuts auch noch nicht. Da die Funktion ja nur verarbeiten soll, was aber nicht mein Problem ist (ich hoffe ich liege richtig). Mein Programm wartet mit WaitForSingleObject und Windows denkt das Programm wäre abgeschmiert.

    Gruß
    Milky



  • Milky schrieb:

    bei meiner Borlandversion 5.02

    Hier geht's um den "C++Builder", bei deinem "Borland C++" nützt dir die BCB-Hilfe nichts.
    Für Fragen zu deinem Compiler bitte an's "Andere Compiler"-Forum wenden.

    Wegen der eigentlichen Thematik: verschoben nach "WinAPI".



  • 1.) Entweder nicht INFINITE sondern nur eine kurze Zeit angeben und in einer Schleife aufrufen (zwischendrin Nachrichten abrufen) oder das Ganze in einen extra Thread packen

    2.) Vielleicht hilft dir RedrawWindow


Anmelden zum Antworten