Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: TObjectList als Owner von Controls?

  Alt 20. Feb 2012, 00:05
Der Owner von einem TComponent muß vom Typ TComponent sein, und eine TList (davon wird TObjectList abgeleitet) wird nicht von TComponent abgeleitet, somit kann man also so eine Liste nicht als Owner übergeben.

Aber wozu auch?

Wozu wird denn bei TComponent ein Owner übergeben? Eben, weil man die Kontrolle über den Lebenszyklus an eben diesen Owner delegiert.

Sollen diese Komponente nun mit einer TObjectList (OwnsObjects=True) verwaltet werden, dann übergibt man die Komponente eben dieser TObjectList und fertig ist. Die Delegation ist damit erfolgt. Allerdings gibt man beim Erzeugen als Owner eben nil an. Sonst delegiert man ja doppelt.

Die Eigenschaft Parent gibt nur an, wo die Komponente gezeichnet werden soll. Und diese Eigenschaft hat nichts mit dem Owner zu tun. Die können durchaus gleich sein ... müssen aber nicht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat