Und der Nächste, der das
Rad neu erfinden will.

Wieso hantiert ihr nur dauernd rum mit dem Custom-Kram ?

Was soll denn der Zweck des ganzen sein ? Eine Komponente "erfinden" , die es noch in keiner in etwa vergleichbaren Weise gibt, oder was ? So dass man tatsächlich bei TControl, also quasi beim Urknall ansetzen muss ?

Bei
OOP gehts hauptsächlich um Vererbung und das wird kaum oder falsch genutzt. Genauso weng, wie "inherited". Man setzt die relevanten Felder vom Vorgänger durch den Aufruf von inherited . Ab da gehts dann weiter.
Guck mir den
VCL-Source jetzt nicht an, weil das TControl.Create sicherlich keinen Parameter "Test : string" hat. Muss tatsächlich die Parameterliste einer Methode geändert werden, was man nach Möglichkeit vermeiden sollte, dann ist das mit "overload" zu bewerkstelligen. Reintroduce ist da ziemlich uninteressant.