Dachte ich es mir doch, dass das mit dem inherited in Deinem Code nicht funktionieren kann, nicht wahr?
Doch, weil ich TListBox patche und die hat keine eigene CreateParams. Die Fix Klasse ist von TCustomListBox abgeleitet, so dass der inherited Call die CreateParams von dort aufruft. Und dann stopfe ich die TListBoxFix.CreateParams in den "leeren" (er ist ja nicht leer, sondern weist auf TCustomListBox.CreateParams) TListBox.CreateParams Slot.
Also im Grunde ist das nix anderes als ein runtime override.
Gute Erklärung. Meine Bemerkung bezog sich darauf, dass das Patchen den Code in der ersetzten Methode praktisch radiert, inklusive inherited-Calls. Wenn ein solchermaßen gepatchter Code ein Update bekommt, dann braucht man wohl etwas Kaffee, BeyondCompare und einen guten Blick. (Sofern man sich an den Patch überhaupt noch erinnert, liegt er doch als
Unit ohne Referenz irgendwo rum.)