AGB  ·  Datenschutz  ·  Impressum  







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

TObjectList als Result

Ein Thema von Kuehter · begonnen am 27. Okt 2014 · letzter Beitrag vom 28. Okt 2014
Antwort Antwort
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.039 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: TObjectList als Result

  Alt 27. Okt 2014, 18:25
Interface basierte Listen, boom!

Klar gehen die erst ab Delphi 2010 aber es dürfte ja ein leichtes sein, sich ne schlanke TInterfacedObjectList mit entsprechendem Interface zu bauen, wenn man mit nem älteren Delphi hantiert.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.071 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TObjectList als Result

  Alt 27. Okt 2014, 18:55
Früher gab es IInterfaceList bzw. IInterfaceListEx in der Classes-Unit.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.039 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: TObjectList als Result

  Alt 27. Okt 2014, 19:38
Früher gab es IInterfaceList bzw. IInterfaceListEx in der Classes-Unit.
Gibt es immer noch und das ist ein Interface, was Zugriff auf eine Liste von Interfaces gibt, wie der Name auch schon andeutet.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.071 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: TObjectList als Result

  Alt 28. Okt 2014, 08:09
Früher gab es IInterfaceList bzw. IInterfaceListEx in der Classes-Unit.
Gibt es immer noch und das ist ein Interface, was Zugriff auf eine Liste von Interfaces gibt, wie der Name auch schon andeutet.
Was der von dir angesprochenden "TInterfacedObjectList" für ältere Delphis entspricht, richtig?

Geändert von TiGü (28. Okt 2014 um 08:13 Uhr)
  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
 
#5

AW: TObjectList als Result

  Alt 28. Okt 2014, 10:18
Früher gab es IInterfaceList bzw. IInterfaceListEx in der Classes-Unit.
Gibt es immer noch und das ist ein Interface, was Zugriff auf eine Liste von Interfaces gibt, wie der Name auch schon andeutet.
Was der von dir angesprochenden "TInterfacedObjectList" für ältere Delphis entspricht, richtig?
Falsch.

Eine Delphi-Referenz durchsuchenSystem.Classes.IInterfaceList ist für Items vom Typ IInterface .
Eine TInterfacedObjectList soll für Items vom Typ TObject sein.
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
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.071 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TObjectList als Result

  Alt 28. Okt 2014, 11:16
Eine TInterfacedObjectList soll für Items vom Typ TObject sein.
Also eine normale, nicht-generische TObjectList?
  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
 
#7

AW: TObjectList als Result

  Alt 28. Okt 2014, 11:42
Eine TInterfacedObjectList soll für Items vom Typ TObject sein.
Also eine normale, nicht-generische TObjectList?
Ähm, ja, so ist doch die Frage, darum geht es doch dem TE (der übrigens auch nur Delphi 7 hat, was soll der da mit Generics?)
Nur dass sich diese bekannte TObjectList als Rückgabewert einer Funktion etwas ungeschickt ist (wegen der evtl. zu erwartenden Speicherlecks). Darum der (gute) Vorschlag von Stevie statt einer TObjectList ein Interface zurückzugeben, was die gleichen Eigenschaften, wie TObjectList hat, sich aber (weil es ja ein Interface ist) von selber wieder aus dem Speicher entfernt, sobald da niemand mehr den Finger drauf hat.

Da hinter einem Interface immer (mindestens) eine konkrete Klasse steht war der Vorschlag diese Klasse einfach TInterfacedObjectList zu nennen.
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)

Geändert von Sir Rufo (28. Okt 2014 um 11:59 Uhr)
  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 12:21 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 by Thomas Breitkreuz