Ich weiß es leider auch nicht mehr genau ... glaub nur es mal gesehn zu haben
Es lassen sich über die neue
RTTI alle möglichen Klassen suchen.
Darüber kommt man nun auch an die TypeInfo dieser Klassen und kann darin die
VMT bearbeiten und den Prozedurzeiger ersetzen.
> auf seine Prozedur umleiten und sich natürlich den alten Zeiger merken, um die alte Prozedur wieder aufrufen zu können.
CM_ENABLEDCHANGED:
Über TApplicationEvents kommst du als Erstes an diese Message (solange sich voeher kein Anderer dort auch drangehängt hat)
Handled auf True setzen, damit die Message nicht weitergeleitet wird und dann über die neue
RTTI das private FEnabled suchen und dort den alten Wert (negierter aktueller Wert) am Setter vorbei setzen.
Einziges Problem währe, wenn SetEnabled in den Klassen überschrieben wurde.