![]() |
[theoretische Frage] max Länge einer TStringList
Hallo und guten Morgen an alle,
Hab da mal ne theoretische Frage, wieviele Strings maximal in eine TStringlist passen? Habe mich hier mal umgeschaut und es wurde zwar schonmal nach der max Länge eines Strings gefragt aber leider habe ich nichts zu meiner Frage auf die Schnelle gefunden. (hier mal eine meiner ![]() Vielen Dank BAMatze |
Re: [theoretische Frage] max Länge einer TStringList
<qualifizierte Vermutung>
Ich würde mal tippen, max. 2^31 Zeichen (Maximaler Int32-Wert)... </qualifizierte Vermutung> |
Re: [theoretische Frage] max Länge einer TStringList
Delphi-Quellcode:
Joa, soviele werden´s wohl sein. :lol:
array[0..(Maxint div 16)]
|
Re: [theoretische Frage] max Länge einer TStringList
mit soeiner persönlichen search_id können wir anderen nicht viel anfangen
DP-Suche Keine Beiträge entsprechen Deinen Kriterien. Aber bei einer normalen Win32-Delphianwendung one wird es solange gehn, bis dir der Speicher ausgeht. Also im Nomalfall maximal 2 GB abzüglich des sonstig belegten virtuellen Speichers (auch den durch die Speicherfragmentierung belegten) oder bis dir der RAM ausgeht. Ich würde also mal von bis zu 1,8 GB ausgehn und beim 3GB-"Hack" 2,8 GB |
Re: [theoretische Frage] max Länge einer TStringList
Das da oben war kein Witz, es müsst eigentlich Classes.MaxListSize mal '' reinpassen. :wink:
Edit: Das war jetzt zur TStringList, die maximallänge eines strings kenn ich nicht. Da würd ich auf holliesoft´s Äußerung tippen. (nur 2^32, da Cardinal) |
Re: [theoretische Frage] max Länge einer TStringList
Zitat:
![]() @all danke schonmal BAMatze [Edit] Link getestet und bei mir funzt er jetzt [/Edit] |
Re: [theoretische Frage] max Länge einer TStringList
Zitat:
|
Re: [theoretische Frage] max Länge einer TStringList
Zitat:
abgesehn davon, daß die DP diese Suchergebnise eh nicht lange speichert. hier mal eine Suche von mir :angel2: ![]() ![]() |
Re: [theoretische Frage] max Länge einer TStringList
Zitat:
/Thomas |
Re: [theoretische Frage] max Länge einer TStringList
jupp, aber da ich entweder nicht soviel RAM benötige oder auf MMFs ausweiche, hab ich es noch nie wirklich benötigt (lohnt sich eh nur, wenn man im System mindestens 4 GB an physischem RAM hat, da ja sonst eh ständig nur ausgelagert würde)
man kann in der EXE (im NT_HEADER) ein Flag setzen, womit windows weiß, daß man auch das ober 32. Bit des Pointers nutzen möchte: ![]() da muß man aber auch etwas aufpassen, daß die Anwendung dieses verkraftet es gibt noch viele Codes, welche einen Pointer wie einen Integer betrachten 0(nil) = leer, bis MaxInt = OK und im negativen Bereich steht der Wert für einen Fehler, was also bei über 2 GB zu Problemen führt. |
Re: [theoretische Frage] max Länge einer TStringList
Zitat:
Naja ist ja auch erstmal nur eine theoretische Frage gewesen, weil ich überlege aus einem dynamischen Array, welches ich in der Anzahl auf die Breite eines Bitmaps beschränke, zu ersetzen. Möchte den Informationsverlust, welcher ja entsteht, wenn die Daten den Rand des Bitmaps erreichen, eigentlich verhindern. Vorteil für das was ich mache ist, ich kann die Verwendung Der Komponente diesmal auf einen relativ geringen Zeitraum (-> denke mal nicht mehr als ein paar 1000 Einträgen) beschränken. Da man ja aber besser beraten ist, sowas auch für mögliche andere Fälle vorzubereiten, suche ich gerade nach neuen Möglichkeiten, wo auch ein längerer Zeitraum/ sehr viel mehr Daten dauerhaft dargestellt werden können. Sitze aber gerade noch an einem anderen Problem. Das hier kommt aber sofort danach. Vielen Dank BAMatze |
Re: [theoretische Frage] max Länge einer TStringList
Zitat:
genauer gesagt:
Delphi-Quellcode:
was aber praktisch niemals erreicht werden kann, da das Array schließlich an einem Stück im Speicher liegt und dadurch, daß schon überall verteil die Dateiimages der EXE und der DLLs, sowie der Stack und der bereits reservierte Speicher rumliegt und somit garnicht mehr soein großes "zusammenhängendes" Stückchen im virtuellen Speicher der Anwendung frei ist.
Array[0 .. ($7fffffff - 3 * SizeOf(Integer)) div SizeOf({Element}) - 1]
bei der StringList ist noch der Vorteil, daß die einzelnen Strings auch verteilt und nicht an einem Stück rumliegen können. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:54 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-2025 by Thomas Breitkreuz