OnChange Ereignis aus einer anderen Funktion aufrufen ??



  • Ich wollte gern ein OnChange Ereignis einer TreeView Komponente von einer anderen Funktion aus, simulieren.
    Wie mach ich das ??

    danke



  • Hallo

    wie meinst du das? Wenn du nur die Eventmehtode die mit dem Event des TreeVies verbunden ist aufrufen willst, brauchst du diese ja nur wie eine normale Methode mit passenden Parametern aufrufen.

    bis bald
    akari



  • So hatte ich mir das auch gedacht und probiert, nur leider weiß ich den Syntax nicht und konnte auch nichts in der Art finden.
    Da gibt es auch TreeView1->OnChange; aber das funktioniert so nicht und Parameter werden da laut hilfe nicht erwartet.
    Ich will von einer Funktion aus diese Funktion aufrufen, sodaß der in der OnChange Routine geschriebene Code ausgeführt wird.



  • Hallo
    na du must doch nur die Methode selber aufrufen, hat mit dem TreeView nicht mehr viel zu tun. Nehmen wir mal an, die Methode ist in TForm1 (also auch das TreeView), heißt TForm1::TreeView1Change und du willst die Eventmehtode aus einer anderen Eventmethode von TForm1 aufrufen.
    Also must du das schreiben :

    TTreeNode *ChangedNode = ...; // Einen Node bestimmen, für den der Event ausgeführt werden soll
    TreeView1Change(TreeView1, ChangedNode); // Event auslösen
    

    bis bald
    akari



  • Danke funktioniert ! 🙂
    hab es einfach so gemacht:

    TTreeNode *ChangedNode;
    TreeView_WPListChange(TreeView_WPList, ChangedNode);
    


  • Hallo

    dir ist aber schon klar, das du in ChangedNode einen undefinierten Wert übergibst? Und falls du in der Eventmethode jemals den Parameter benutzen willst, das es dann zu Speicherzugriffsfehlern kommt?
    Übergib wenigstens NULL, damit du es in der Eventmehtode rausfiltern kannst, wenn du keinen Node übergibst.

    bis bald
    akari



  • hab gerade mit Null probiert. brauch es ja nur, um einmal die Funktion auszuführen.

    TreeView_WPListChange(TreeView_WPList, NULL);
    

Anmelden zum Antworten