Da ich aber im Moment nur Delphi 7 nutzen möchte, ist der Code natürlich nicht
so ohne weiteres verwendbar.
Früher war Delphi 7 ja auch sehr beliebt, auch mit nicht legalen Kopien, insbesondere in den Folgejahren. Da es die aktuelle Version heute für nicht-kommerzielle Nutzung kostenlos gibt, gibt es aber nur noch viel weniger Nutzer, so dass ich meine Open Source Projekte nicht mehr abwärtskompatibel halte.
Das Prinzip funktioniert aber auch mit Delphi 7 problemlos, nur dass man ohne Generics das Casten auf den konkreten Interfacetyp selbst außerhalb machen muss.