AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Koponenten TRealList (TSingleList) und TIntegerList gesucht

Koponenten TRealList (TSingleList) und TIntegerList gesucht

Ein Thema von user69 · begonnen am 17. Okt 2007 · letzter Beitrag vom 18. Okt 2007
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Koponenten TRealList (TSingleList) und TIntegerList gesu

  Alt 18. Okt 2007, 18:54
Falls man Delphi 2007 hat, ist eventuell auch die Lösung mit Generics sinnvoll. (Und elegant)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.820 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Koponenten TRealList (TSingleList) und TIntegerList gesu

  Alt 18. Okt 2007, 18:58
Aber nicht unter Win32
Markus Kinzler
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Koponenten TRealList (TSingleList) und TIntegerList gesu

  Alt 18. Okt 2007, 19:15
Zitat von user69:
Arrays: Da ich anfangs nicht weiß, wie viele Element im Array sin brauche ich schon Dynamische Arrays. Diese haben für mich den Nachteil, daß sie schnell viel Speicher verbrauchen können(Hab ich mich früher auch manchmal drüber gewundert), wenn man sie manuell z.B. immer um 1 vergrößert (es wird ja immer wieder der komplette Speicher neu zugewiesen). Den anderen Speicher hält Delphis Memory Manager (er denk man könnte ihn ja nochmal brauchen) einfach vor und gibt ihn nicht wieder frei.
Das ist mir aber neu. Die OH sagt da aber was anderes.
Grundsätzlich benutze ich aber auch lieber Listen.

Gruß oki
42
  Mit Zitat antworten Zitat
user69

Registriert seit: 10. Dez 2004
76 Beiträge
 
#14

Re: Koponenten TRealList (TSingleList) und TIntegerList gesu

  Alt 18. Okt 2007, 21:11
Was sagt die Hilfe denn?

Zum Memory Manager gibt es da keine solche Aussage denke ich, oder doch.
Das Array an sich gibt den Speicher schon wieder frei, nur dem Memory Manager hält ihn, damit er für spätere Anforderungen schneller ist (oft hilft das zwar, aber bei sowas halt nich). Außerdem nimmt er sich immer bei Vergrößerung eines Arrays neuen Speicherplatz mit der kompletten neuen Größe.

Ich bin, wie gesagt da auch Anfangs mit meiner Anwendung reingefallen, da ich ein Dynamisches Array (von einem eigenen Type, der schon ein paar Byte bracht) genutzt habe und es immer um eins größer oder kleiner gemacht habe. Das führte irgendwann mal zu der Windows Meldung, daß nicht genug Speicher da ist (er meint wohl Heap, da allgeien noch weit mehr als genug Speicher frei war). Alleine das Umschreiben des Codes (num vergößere ich das Array immer um 1000, egal ob ichs brauch oder nicht) brachte Erfolge und keine solchen Fehlermeldungen mehr. Nachteil: ich muß die wirkliche Größe in einer separaten Variable mitführen und immer checken, wann ich das Array vergrößern muß. Deshalb hier der Ansatz einer Koponenten die beide diese Fälle löst, also die TList.

Ich habe übrigens lange im Netz gesucht, um dem Phänomen auf die Spur zu kommen. Bin aber dann doch im Netz fündig geworden, weiß aber nicht mehr wo.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Koponenten TRealList (TSingleList) und TIntegerList gesu

  Alt 18. Okt 2007, 21:16
Was?

Der Delphi-Memory-Manager defragmentiert seinen Speicher nicht? Das wäre mir jetzt sehr neu.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Koponenten TRealList (TSingleList) und TIntegerList gesu

  Alt 18. Okt 2007, 21:21
Zitat von user69:
Nachteil: ich muß die wirkliche Größe in einer separaten Variable mitführen und immer checken, wann ich das Array vergrößern muß.
Nichts anderes macht TList.. einfach mal die Grow-Methode anschaun. Mit einer eigenen Grow-Methode kann man das evtl. noch optimieren... allerdings ist der Grow bereits ganz gut gelöst.

ich würde die TList aber wrappen und nicht ableiten... bei einer Ableitung kann man immer noch auf TList casten und falsche Pointer reingeben. Gewrappt kann man nur das benutzen, was da ist.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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