Hallo Hagen,
das Konzept Deiner "forged interfaces" (FI) entsprichte dem der vielen "Garbage Collector for Delphi"-Artikeln. Eine Ähnliche Bibliothek zum Durchführen beliebiger Aktionen sowie einer Implementierung von "SmartPointern", die sogar auf nil zurückgesetzt werden habe ich vor ein paar Monaten geschrieben. Diese von mir als "implicit actions" getaufte Lösung beruht allerdings auf "echten Klassen", bei denen die durchzuführende Logik in einer Template-Methode, die im Konstruktor des abstrakten Vorfahren aller Aktionen aufgerufen wird, abgelegt.
Mit Sicherheit sind die FI ressourcensparender, jedoch für Entwickler, die
ASM nicht verstehen, nur schwer nachzuvollziehen bzw zu erweitern.
Zu Deiner konkreten Lösung von
WaitCursor möchte ich noch anmerken, dass Du von der Prämisse ausgehst, dass vor dem Aufruf von WaitCursor der StdCursor gesetzt ist, das ist nicht immer der Fall.
Für performante Lösungen halte ich Dein "Fälschungs-Konzept" der FI trotzdem für sehr interessant und auch die Erweiterbarkeit liese sich hinbekommen, sofern man eine zusätzliche Indirektion verwendet.
Danke für diese Inspiration!