AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Auf Objekt in der TObjectList zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Objekt in der TObjectList zugreifen

Ein Thema von Luki206 · begonnen am 24. Nov 2014 · letzter Beitrag vom 26. Nov 2014
Antwort Antwort
Seite 2 von 3     12 3      
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 10:40
Nein, wie denn? Ich dachte (bin mir nicht sicher), die alte TObjectList arbeitet mit Pointer oder TObject . Du kannst in einer Ableitung nicht einfach den Typ verschärfen, also gegen TMeineKlasse ersetzen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 10:45
Ob das besser oder sinnvoller ist, sei dahingestellt, ich zumindest habe das so gemacht.
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
Popov
(Gast)

n/a Beiträge
 
#13

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 10:58
Die TObjectList ist nicht sonderlich kompliziert, ich denke die baut auf TList auf. Wer also nichts erben will, bzw. die TObjectList nicht, kann den Code von TObjectList kopieren und an eigene Bedürfnisse modifizieren.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 13:12
Wozu? Meistens reicht es schon die property Items zu überschreiben:

Delphi-Quellcode:
  TSomeItems = class(TObjectList)
  private
    function GetSomeItem(Index: integer): TSomeItem;
  public
    property Items[Index: integer]: TSomeItem read GetSomeItem; default;
  end;

{ TSomeItems }

function TSomeItems.GetSomeItem(Index: integer): TSomeItem;
begin
  Result := TSomeItem(inherited Items[Index]);
end;

{ TSomeApp }

procedure TSomeApp.DoSomething;
begin
  Index := FSomeItems.Add(TSomeItem.Create);
  FSomeItems[Index].DT := Now;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 13:22
http://www.delphi-treff.de/tutorials/vcl/tobjectlist/3/, allerdings trifft der Text nicht ganz zu, denn die Methoden können gar nicht überschrieben werden, dazu müssten sie virtuell oder dynamisch sein. Tatsächlich werden sie im gezeigten Code also verdeckt. In den meisten Fällen ist das nicht so schlimm, aber wenn Polymorphie (z.B. ein TObjectList-Parameter) ins Spiel kommt, spielt das schon eine Rolle.
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 himitsu
himitsu

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

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 15:53
Wozu? Meistens reicht es schon die property Items zu überschreiben:
Jupp.

Nur überdecken/verdecken, da es ja nicht überschreibbar (override) ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 15:56
Aber wenn ich nur Items anfasse, kann ich ja immer noch z.B. ein TEdit zur Liste hinzufügen. Das wird dann beim Items-Getter ganz böse knallen.
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 himitsu
himitsu

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

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 16:01
Jupp, aber wenn man böse castet, dann bekommt man auch in die generischen Liste ein TEdit rein. (das Gegenteil von hier -> nicht casten)
Aber man könnte ja auch noch die Add- und InsertMethoden überdecken.

Und wenn man eine Variable auf TObjectList hat, dann ist dort ebenfalls wieder das alte Item.
Es ist halt nur in dem Typen überdeckt, aber im Vorfahren natürlich nicht. (bei den Generics gibt es das Problem nicht, da der Typ nicht mit dem Vorfahren kompatibel ist )
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Nov 2014 um 16:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 19:29
Schau Dir doch einfach #15 nochmal an und folge dem Link. Das ist doch fast alles schon gesagt worden
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 himitsu
himitsu

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

AW: Auf Objekt in der TObjectList zugreifen

  Alt 25. Nov 2014, 20:26
Es fehlt nur noch Eines.

Wenn man Notify "überschreibt" und dort eine Typprüfung einbaut, dann könnte man ganz leicht dafür sorgen, daß nur erlaubte Typen in die Liste aufgenommen werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz