AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TObjectList als Owner von Controls?

Ein Thema von messie · begonnen am 19. Feb 2012 · letzter Beitrag vom 19. Feb 2012
Antwort Antwort
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#1

AW: TObjectList als Owner von Controls?

  Alt 19. Feb 2012, 20:21
Hmm, das geht auch noch nicht, vielleicht liegt es auch an mir. Ich habe einen constructor, da setze ich "OwnsObjects" auf true. Das hilft aber nicht.

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.054 Beiträge
 
Delphi 12 Athens
 
#2

AW: TObjectList als Owner von Controls?

  Alt 19. Feb 2012, 21:51
Die Objekte in der TObjectList werden definitiv freigegeben. Das Problem muss woanders liegen...
Vielleicht sind die betreffenden Objekte doch nicht in der Liste oder so.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: TObjectList als Owner von Controls?

  Alt 19. Feb 2012, 23: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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz