Beides benutzt TVirtualInterface, um zur Laufzeit einen Proxy für ein Interface zu erstellen, und das braucht die
RTTI über die Methoden. Fällt mir das aber erst spät ein oder ich schreibe eine Bibliothek, die von anderen benutzt wird, dann besteht für den Consumer oft keine Möglichkeit mehr, da nachträglich
RTTI reinzubekommen.
Vier Jahre sind vergangen, und genau darum geht es jetzt gerade wieder: Ein paar Tests für eine interne Bibliothek. Und wenn man grade eine Dummy-Instanz für einen
Unit-Test braucht macht es wenig Spaß ständig leere Implementationen schreiben zu müssen. Ein Einzeiler mittels
TVirtualInterface.Create(..)
hat da schon was, nur muss das entsprechende Interface sich von
IInvokable
ableiten (oder halt die TypInfos mit Compiler-Direktiven erhalten).
Heißt: Für Bibliothekscode generell von
IInvokable
ableiten? Mir ist das Interface auch in den letzten vier Jahren nie über den Weg gelaufen, deshalb tue ich mich da so schwer mit.
Gibt es noch mehr Meinungen?