Methodenhook in Klasse



  • Hallo zusammen,

    ich habe eine Klasse innerhalb einer Dll welche die Netzwerkkommunikation zwischen zwischen Client und Server handelt. Wenn das Object der Klasse nun eine StringListe bekommt soll eine externe Funktion des Hauptprogramms oder anderer Dlls aufgerufen werden. Also habe ich versucht in der Klasse einen Zeiger auf eine externe Funktion zu definieren:

    private:
      void* pOnGetStringList(TStringList* Liste);
    public:
      void SetOnGetStringListFunktion(void Funktion(TStringList* Liste));
    
    //Implementierung
    
    void MyClass::SetOnGetStringListFunktion(void Funktion())
    {
      pOnGetStringList=Funktion;
    };
    

    Das funktioniert nicht (Meldung : "Memberfunktion must be called or its Adress taken"). Hat jemand ne Idee wie ich das ganze bewerkstellige?



  • Die Syntax gibts auch nicht. Du mußt dich entscheiden zwischen Funktionszeigern, Methodenzeigern und Closures.
    Auf den verlinkten Seiten steht alles, was du wissen mußt.

    Edit: Typographie


Anmelden zum Antworten