Programm gibt während einer Schleife keine Rückmeldung



  • Bei VCL hatte ich das Problem auch schon mal und habe es mit

    Application->SendMessage();
    

    gelöst, dass ist aber kein C++ Builder.
    Kann mir jemand helfen, wie ich eine Unansprechbarkeit vermeide ?

    PS: Bitte eine ähnliche Lösung, denn alles in einen Timer auszulagern ist KEINE LÖSUNG für das Prob



  • alles in eine Thread auslagen ist aber ein oder den Message-Loop von MFC in Gang setzen, wobei ich das nur als Notlösung machen weil unschön

    http://www.mpdvc.de/html.htm#Q75

    Sollte dir da weiter Helfen, aber den richtigen Loop verwenden.



  • Ich habe mich doch eher für einen Backgroundworker entschieden.
    Der macht bei RunWorkerAsync zwar fast was er soll, aber er ändert die
    RichTextBox nicht, was er soll.
    ein DoWork versteh ich nicht ganz, ich weiß nicht was ich an die Funktion
    übergeben soll.

    EDIT: Ups ist DoWork eine Eigenschaft ?



  • Invoke versteh ich nicht ganz.
    Ich gucks mir noch mal kurz an.



  • [/cpp]Count_Zeichen++;
    std::string ZwischenTyp;
    std::stringstream UMW;
    UMW << Count_Zeichen;
    ZwischenTyp = UMW.str();
    array<Object^> ^args = {this, e};
    this->Invoke(gcnew EventHandler(this, &Form1::Update1), args);

    BACKY
    [cpp]
    void Form1::Update1(Object ^o, EventArgs ^e)
    {
    	label10->Text = gcnew String(ZwischenTyp.c_str());
    }
    

    Supi und wie bekomme ich jetzt den std::string ZwischTyp rüber ?
    muss der Global sein ?

    Ist jetzt Global, es geht trotzdem nicht



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hör auf managed mit unmanaged Code zu mischen.
    Das macht alles sehr (und vorallem unnötig) kompliziert.

    Simon


Log in to reply