AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TObjectlist, wie funktioniet sie wirklich?
Thema durchsuchen
Ansicht
Themen-Optionen

TObjectlist, wie funktioniet sie wirklich?

Ein Thema von Antigo · begonnen am 3. Jan 2007 · letzter Beitrag vom 3. Jan 2007
 
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: TObjectlist, wie funktioniet sie wirklich?

  Alt 3. Jan 2007, 21:40
Zitat von Antigo:
So nun möchte ich gerne eine ganze Menge Objekte in der TObjectlist speichern. Folgendes funktioniert aber beispielsweise nicht.

In beiden Elementen der Liste würde nun Test2 stehen.
Falsch!

Delphi-Quellcode:
  //Pseudocode
  var Objekt: TObjekt;
      liste:TObjectlist;
  begin
    liste := TObjectList.Create;
    Try
      Objekt := TObjekt.create('Test1');
      liste.add(TObjekt);

      Objekt := TObjekt.create('Test2'); // Objekt bekommt hier eine neue Instanz zugewiesen, somit eine neue "Adresse auf die Objekt" zeigt.
      liste.add(TObject);
    finally
      list.free;
    end;
  end;
Daher sind es 2 unterschiedliche Zeiger die die Objektliste da bekommt und speichert. In beiden Einträgen stehen unterschiedliche Adresse. Der Code funktioniert so...

Zitat von Antigo:
Ist es daher richtig zu sagen, in einer TObjectlist werden nur Zeiger gespeichert?
Ja.

Zitat von Antigo:
Wenn ja wie befülle ich dann am elegantesten eine TObjectlist mit vielen Elementen in einer einzelnen Prozedur.
So wie du es selber gepostet hast.

Zitat von Antigo:
Wenn ich jedesmal nur ein Objekt reinspeichere funktioniert es, da die lokale temporäre Variable scheinbar bei jedem Aufruf eine andere Speicheradresse hat auf die ich dann über die TObjectlist zugreifen kann.
Er speichert nirgendwo die lokale temporäre Variable sondern deren Inhalt!

Kann es sein, dass deine TObjectList genauso lokal deklariert ist wie in deinem Beispiel?
  Mit Zitat antworten Zitat
 


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 14:32 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