AGB  ·  Datenschutz  ·  Impressum  







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

ObjectList überschreiben?

Ein Thema von McMorton · begonnen am 24. Apr 2006 · letzter Beitrag vom 26. Apr 2006
Antwort Antwort
McMorton

Registriert seit: 8. Mär 2006
45 Beiträge
 
#1

ObjectList überschreiben?

  Alt 24. Apr 2006, 22:38
Hallo

Ich habe schon wieder eine Anfängerfrage:

Ich benutze in meinem Programm die TObjectList.

Wenn ich dort Objekte reinlade kann ich ja nur durchs casten auf sie zugreifen.

Nun weiß ich das man die ObjectList irgentwie überschreiben kann. Sich also ne ObjectList spezielle für das Objekt schaffen kann.

Leider habe ich absolut keine Ahnung wie das geht.
Wer kann mir da helfen?
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: ObjectList überschreiben?

  Alt 25. Apr 2006, 06:45
Delphi-Quellcode:
type
TMyObject = class;

TMyObjectList = class (TObjectList)
private
  function GetMyObject (const AIndex: Integer): TMyObject;
public
  property MyObject[const AIndex: Integer]: TMyObject read GetMyObject;
end;

function TMyObjectList.GetMyObject (const AIndex: Integer): TMyObject;
begin
  Result := TMyObject (Items[AIndex]);
end;
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: ObjectList überschreiben?

  Alt 25. Apr 2006, 13:28
Hi,

wobei ich das überschreiben der property Items vorziehe:

Delphi-Quellcode:
TMyObject = class(TObject)
private

public
  // Some propertys
end;


TMyObjectList = class(TObjectList)
private
  function GetItem(Index: Integer): TMyObject;
public
  property Items[Index: Integer]: TMyObject read GetItem;
end;

implementation

function TMyObjectList.GetItem(Index: Integer): TMyObject;
begin
  Result := TMyObject(inherited Items[Index]);
end;
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: ObjectList überschreiben?

  Alt 25. Apr 2006, 17:06
Zitat von Spider:
wobei ich das überschreiben der property Items vorziehe:
Dann aber das "default" nicht vergessen:

Delphi-Quellcode:
TMyObjectList = class(TObjectList)
private
  function GetItem(Index: Integer): TMyObject;
public
  property Items[Index: Integer]: TMyObject read GetItem; {-->}default;{<--}
end;
Sonst kann man nicht mehr MyList[i] schreiben und muss immer MyList.Items[i] schreiben.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: ObjectList überschreiben?

  Alt 25. Apr 2006, 17:43
OK, hast recht. Ich hab mir aber angewöhnt immer MyList.Items[I] zu schreiben *g*
  Mit Zitat antworten Zitat
McMorton

Registriert seit: 8. Mär 2006
45 Beiträge
 
#6

Re: ObjectList überschreiben?

  Alt 25. Apr 2006, 23:07
Danke. Genau das habe ich gesucht.

Ich muss dann also alle Funktionen überschreiben, die ansonsten TObject zurückgeben würde (falls ich sie verwenden will)
Z.B. Last, First, ...
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: ObjectList überschreiben?

  Alt 25. Apr 2006, 23:14
Hallo,

anstatt TObjectlist zu ueberschreiben, kannst du die Klasse auch ableiten. Mit dem Objectlist-Template ist dies auch kein grosser Aufwand

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: ObjectList überschreiben?

  Alt 26. Apr 2006, 00:00
Zitat von alcaeus:
Hallo,

anstatt TObjectlist zu ueberschreiben, kannst du die Klasse auch ableiten. Mit dem Objectlist-Template ist dies auch kein grosser Aufwand

Greetz
alcaeus
Wie macht man das denn in Delphi7?
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  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 13:05 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