Extrem nerven tut es, daß _AddRef und _Release nie als virtual deklariert sind. (QueryInterface ist es allerdings fast immer)
Wie soll man denn da nachträglich eine Referenzzählung implementieren, wo es vorher keine gab (diese Funktionen machen nichts), bzw. wie soll man da das Verhalten ändern können.
TComponent-Nachfahren wollte ich mit einer Referenzzählung ordentlichen versehnen, welche
VCL-Object-Verwaltung und Interface-Referenzzählung kombiniert.
Die einzige Lösung ist da umständlich(er) ein weiteres Interface (IVCLComObject) dahinter zu schalten.
Ach ja und es kotzt uch an, wenn man an fertige (fast passende) Implementationen nicht rann kommt, da der gewünschte Typ irgenwo in einem Implementation-Teil versteckt deklariert ist.