AGB  ·  Datenschutz  ·  Impressum  







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

TObjectList Problem

Ein Thema von Dennis07 · begonnen am 5. Dez 2011 · letzter Beitrag vom 8. Dez 2011
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: TObjectList Problem

  Alt 5. Dez 2011, 09:18
Er fügt die Panels doch in die Liste ein, oder was macht PanelsList.Add(NewPanel);

Wie kommst du darauf, dass die nicht in der Liste stehen?

BTW: Da du ja anscheinend eine eindeutige ID für die Panels benötigst, würde ich ja schon eher eine TCollection vorschlagen, da wird die ID gleich mitproduziert
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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#2

AW: TObjectList Problem

  Alt 5. Dez 2011, 09:21
Gab es TCollection schon unter Delphi 5? Oder stimmt die angegebene Delphi-Version nicht? Achja, eins noch: wenn man die Objekliste im FormCreate anlegt, sollte man sie im FormDestroy freigeben und nicht im FormClose. Sonst kann es passieren, dass man darauf zugreift, obwohl sie bereits entsorgt wurde.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#3

AW: TObjectList Problem

  Alt 5. Dez 2011, 09:39
Und nicht vergessen: TObjectList hat ein Property namens OwnsObjects (wird im Constructor gesetzt). Ist es true (standard), dann werden beim Löschen der Object-List auch alle noch enthaltenen Objekte automatisch freigegeben.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#4

AW: TObjectList Problem

  Alt 5. Dez 2011, 09:47
Nicht nur beim Löschen der Liste selbst, sondern auch beim Löschen von Elementen aus der Liste.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: TObjectList Problem

  Alt 5. Dez 2011, 10:10
Hallo,

die Variable NewPanel darf nicht global sein, sondern sie muss lokal in der Procedure SpawnPanel deklariert werden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#6

AW: TObjectList Problem

  Alt 5. Dez 2011, 10:18
Wieso denn das? Es ist zwar nicht schön so wie im Moment, aber darf und muss ist IMHO die falsche Wortwahl.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
492 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TObjectList Problem

  Alt 5. Dez 2011, 12:40
Zitat:
Soll heißen, die Liste bleibt leer?
Genau.

Zitat:
Wieso verwendest Du übrigens globale Variablen, die sind doch gar nicht nötig.
Ich habe euch nur einen kleinen Teil des Codes gegeben. Ich brauche sie noch in anderen Procedures, ist aber hier nicht relevant (deswegen euch erspart).

Zitat:
Und wenn Du die Panels eh in die Objektliste einfügst, musst Du auch keinen Owner angeben.
Danke, das wusste ich nicht.

Zitat:
Gab es TCollection schon unter Delphi 5?
Keine Ahrnung. Worauf willdst du hinaus (kenne diese Klasse nicht, sry)?

Zitat:
Wieso denn das? Es ist zwar nicht schön so wie im Moment, aber darf und muss ist IMHO die falsche Wortwahl.
Ich denke auch, das dürfte doch keinen Unterschied machen, oder?
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#8

AW: TObjectList Problem

  Alt 5. Dez 2011, 15:28
Wieso denn das? Es ist zwar nicht schön so wie im Moment, aber darf und muss ist IMHO die falsche Wortwahl.
Ruft doch einmal die Funktion(en) gleichzeitig auf, welche die selbenglobale Variable nutzen.
Muß nicht gleich multithread sein ... rekursive Aufrufe reichen schon aus.

Variablen muß man also immer so nah wie möglich an deren Verwendungsort, bzw. an deren Gültigkeitsbereich deklarieren.
Ein Therapeut entspricht 1024 Gigapeut.
  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 16:14 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