Thread / Delegate



  • Hallo Leute,
    wie greife ich von einem Thread aus auf Elemente zu die im Hauptthread erstellt worden sind? Über Delegaten / Invoke?
    Ich denke damit könnte ich mein Problem mit dem animierten Icon lösen.

    Grüße
    Stefan



  • Mit Invoke und einem Delegaten ist gut.
    Falls Du konkretere Fragen hast, stelle sie ruhig und zeige ev. etwas Code.
    Simon



  • Genau ich habe es auch über einen Deleagt gelöst.

    //Header
    private: delegate void DoInGui(Mydata^ data);
    private: System::Void DoInGui(Mydata^ data);
    
    //Im Thread
    //Die Arbeit  erledigen und dann ...
    
    DoInGui^ delegateDo = gcnew DoInGui(this, &Form1::DoInGui);
    array<Object^>^ delegateO = {data};
    this->Invoke(delegateDo, delegateO);
    


  • Wie könnte man folgendes lösen: ( Prinzip würde mir reichen )

    Im Hauptformular wird eine Liste der lokalen Laufwerke dargestellt. ( erledigt und funktioniert )
    Solange die Zusammenstellung dieser Liste läuft soll das typische Taschenlampen-Symbol
    eingeblendet werden. ( teilweise erledigt )

    Entweder man lässt diese Zusammenstellung in einem eigenen Thread laufen oder man ladet das Icon in einem eigenen Thread. ( Hinweis: Bei dem Icon handelt es sich um ein animiertes Icon, ansonst wäre es kein Problem mit der Darstellung )

    Gibt es sonst noch eine andere einfachere Lösung?

    Ein kleines Beispiel wäre super.

    Danke

    Grüße
    Stefan


Anmelden zum Antworten