Windows-Botschaften und Zeiger/Adressen



  • Hallo zusammen,

    ich versuche mal mein Problem in Worte zu fassen:

    Ich habe in der Klasse A einen Funktionspointer definiert und mit NULL belegt. Die Addresse des Pointers übergebe ich über den WParam einer Windows-Botschaft an die Klasse B. In Klasse B exisitiert eine Funktion auf die der Pointer an der übergebenen Adresse zeigen soll.

    Folglich muss im Message-Handler der Windows-Botschaft irgendwas mit dem Pointer, der an der übergeben Adresse gespeichert ist, passieren.

    Die Frage ist nun was und wie ? 😕

    Grüße



  • ...



  • Vielen Dank für deinen Beitrag, ich konnte das Problem eigentlich Zeitgleich lösen. Sieht fast genauso aus wie bei dir.

    Der Knackpunkt war:

    *( reinterpret_cast< A::my_func_ptr_t* >( wparam ) ) = &B::foo;
    

    Ich weiß, dass es eine unschöne und nicht gängige Vorgehensweise ist. Ich muss jedoch bestehnden Code in einer überarbeiteten Architektur unterbringen und
    habe keine andere Möglichkeit als die Verwendung von Messages gesehen.
    Da ich in diesem speziellen Fall eine Funktion aus einer Klasse verwenden muss, das der Klasse A nicht bekannt ist, habe ich mir diese Lösung überlegt 🙂


Log in to reply