Eine Komponente macht nur Sinn, wenn man den Form-Designer(->
VCL) verwendet.
Genau, ohne Objektinspektor mit dem man Komponenten auf Formulare, Frames und Datenmodule ziehen kann (und Properties zur Entwicklungszeit voreinstellen kann) haben Komponenten keinen Vorteil gegenüber normalen Klassen.
Das heisst also man ist besser beraten, wenn man Klassen für
NonVCL direkt von
TObject oder von
TPersistent ableitet.
Man kann
NonVCL genauso objektorientiert programmieren wie in
VCL-Programmen; nur bietet das ableiten von TComponent kaum einen Nutzen und Ableiten von TWinControl oder TGraphicControl verbietet sich von selbst.