Delphi-Quellcode:
constructor TMyCombo.Create( AOwner: TComponent );
begin
inherited Create( AOwner );
SetItems( TStringList.Create ); // <- diese Instanz wird jetzt übernommen
end;
end.
Die wird ja auch da nicht übernommen! im inherited Create(AOwner)
wird die Instanz doch schon erzeugt, wenn du die Zuweisung machst, dann gibt es schon eine Instanz, und der Code würde ein Speicherleck produzieren, weil die neu erzeugte TSringlist in der Luft hängt.
Fazit - Das Ganze ist extrem unsauber und undurchsichtig gemacht, wobei mir der Nutzen völlig unklar ist.
Man müste das inherited create weglassen und alles selber machen. Oder zumindest die Instanz erzeugen, bevor man inherited create aufruft (wobei da vermutlich in der Folge auch irgendwas schiefgehen würde, habe ich das dumpfe Gefühl).
edit
Ich sehe gerade, du leitest diene Combobox von TCustomcombo und nicht von von TCustomcombobox ab - dann hast du Recht, das weist die Instanz zu.
Durchsichtig und verständlich ist die ganze Konstruktion aber nicht, und worin der Nutzen bestehen soll, sehe ich wirklich nicht.