AGB  ·  Datenschutz  ·  Impressum  







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

ObjectListe in .Net?

Ein Thema von Master_BB · begonnen am 16. Jul 2005 · letzter Beitrag vom 16. Jul 2005
Antwort Antwort
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#1

ObjectListe in .Net?

  Alt 16. Jul 2005, 11:59
Hya,
ich wollte gerade mal ein Object von einer objectliste ableiten und da hab ich in der
Hilfe gesehen das es die ObjectList und die normale List nur
in System.Web.Mobile gibt bzw ASP.NET Mobile Controls.
Kann ich solche Objecte verwenden auch wenn meine applikation
nur fürs ausführen wie eine normale anwendung bestimmt ist, sprich keine onlineapplikation?
bzw wenn ich das nicht nehmen kann/darf was nehm ich sonst?
muss ich mir noch selber sowas schreiben? sowas gehört ja eigentlcih zu
den grundwerkzeugen

Greetz
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: ObjectListe in .Net?

  Alt 16. Jul 2005, 12:08
Du hast da wohl die Hilfe auf das .NET Framework eingeschränkt.

Schon mal Borland.Vcl.Classes bzw. Borland.Vcl.Contnrs eingebungen? Damit hättest du die Listen wieder.
Das .NET Framework bietet aber auch selbst Listen an: Wie die Klasse System.Collections.ArrayList.

Und eine "normale" TList ala Win32 wirst du nicht mehr finden, da die Borland.Vcl.Classes.TList nun auch TObject als Datentyp hat statt wie bisher Pointer.
TObjectList hat im Vergleich zu ArrayList oder TList aber den Vorteil, dass es die Methode Dispose() der enthaltenen Objekte aufruft und somit eine deterministische Freigabe der Objekte erlaubt.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: ObjectListe in .Net?

  Alt 16. Jul 2005, 12:24
Ich glaube die ArrayList ist die passendste entsprechung für eine TObjectList.

@jbg Wenn ein container aus dem Scope rennt werden ja auch alle enthaltenen Instanzen von der GC erfasst.
eine strong typed Liste on IDisposable Items könnte mit minimalem Aufwand (zumindest in .Net 2.0 ) das gleiche:
Delphi-Quellcode:
uses
   System.Collections.Generic;

type
   DisposableList = public class(List<IDisposable>, IDisposable)
   public
      procedure Dispose;virtual;
end;

implementation

procedure DisposableList.Dispose;
var
   Item : IDisposable;
begin
   for Item in self do
      Item.Dispose();
end;
  Mit Zitat antworten Zitat
jbg

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

Re: ObjectListe in .Net?

  Alt 16. Jul 2005, 13:22
Zitat von Robert_G:
Wenn ein container aus dem Scope rennt werden ja auch alle enthaltenen Instanzen von der GC erfasst.
Nur ruft das nicht automatisch Dispose auf, sondern irgendwann mal Finalize. Und wenn man in Finalize nun nicht dafür sorgt, dass Dispose aufgerufen wird, hat man eben keine deterministrische Freigabe der Objekte.

Zitat:
zumindest in .Net 2.0
Im Moment gehe ich bei Fragen immer von .NET 1.1 aus, denn das ist bis jetzt immernoch am weitesten verbreitet und Delphi.NET kann nur dies. Und wir sind hier in einem Delphi-Forum und nicht in einem Chrome-Forum, weswegen ich da wohl automatisch auf .NET 1.1 schließe, dass keine Generics kennt.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: ObjectListe in .Net?

  Alt 16. Jul 2005, 13:44
Zitat von jbg:
Zitat:
zumindest in .Net 2.0
Im Moment gehe ich bei Fragen immer von .NET 1.1 aus, denn das ist bis jetzt immernoch am weitesten verbreitet und Delphi.NET kann nur dies. Und wir sind hier in einem Delphi-Forum und nicht in einem Chrome-Forum, weswegen ich da wohl automatisch auf .NET 1.1 schließe, dass keine Generics kennt.
Ich hätte keine Lust gehabt einen kompletten CollectionBase-Wrapper/ArrayList-Descendant zu posten.
Ich denke, es sollte hier möglich sein, anhand des Schnipsel eine eigene strongtyped collection zu bauen, die Dispose aufruft.
Da es nur um den letzten Teil ging...
  Mit Zitat antworten Zitat
Master_BB

Registriert seit: 17. Mai 2003
285 Beiträge
 
Delphi 7 Professional
 
#6

Re: ObjectListe in .Net?

  Alt 16. Jul 2005, 19:34
@ jbg
ich möchte keine Borland Routinen in meinen .NET Projekten verwenden da man dann
nichtmehr 100% auf dem Framework arbeitet. Und ich möchte 100% Systemunabhänigkeit,
benutze nur die WinForms und eigene davon abgeleitete Komponenten usw.

also werd ich mir meine eigene objectlist bauen. oki vielen dank für eure hinweise.
Wenn das Meer unruhig ist und der Wind die Wellen treibt, erfreut es, vom Strand aus die Mühen eines Anderen zu beobachten.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: ObjectListe in .Net?

  Alt 16. Jul 2005, 19:41
Wie ich bereits schrieb: ArrayList düfte ein guter Ersatz für die TObjectList sein.
Solange du keine unmanaged Resources mit dir rumschleppst oder sonstiges Disposing deiner Items benötigst, wäre es wohl immer besser auf die GC zu vertrauen.
Wenn Andreas' Einwand für dich gilt musst du halt nur das Dispose implementieren bzw. eine eigene Ableitung von CollectionBase bauens wenn du sichergehen willst, dass nur IDispoables in die Liste dürfen.
  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 02:07 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