Delegates AND Windows Forms



  • hallo,

    hab ein problem, dass ihr bestimmt schnell lösen könnt.
    schreibe ein programm, dass eine

    public ref class Form1 : public System::Windows::Forms::Form

    mit einer textBox hat.

    zusätzlich habe ich einen thread der diese textBox verwenden möchte.
    aber ich kann nicht darauf zugreifen.
    habe gelesen, dass man soetwas mir Delegates machen kann.

    [CODE-Ausschnitt]

    //Memberfunktion (public) der Form1
    void upDateTextBox1(int value)
    {
    textBox1->Text = value.ToString();
    }

    //Delegate
    public delegate void testIt(int value);

    //Thread-Klasse
    public ref class TmeineThreadKlasse
    {
    public:
    static void tDerThread()
    {
    int d=10;
    testIt^ t = gcnew testIt(&Form1::upDateTextBox1);
    t->Invoke(d);
    }
    };

    Comiler-Meldung
    error C3352: "void km::Form1::upDateTextBox1(int)": Die angegebene Funktion stimmt nicht mit dem Delegattyp "void (int)" überein.

    Weiß jemand weiter?
    Vg,
    Daniel.



  • Dieser Thread wurde von Moderator/in estartu 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.



  • Der Delegate muss zuerst instantiiert werden, soweit ich weiss.

    Also

    delegate void testIt(int value);
    ...
    testIt myDel;
    

    Und dann kann myDel verwendet werden.


Anmelden zum Antworten