![]() |
Array grösse 2GB
Moin,
wenn ich diese Typdeklartionen verwende bekomm ich diese Fehlermeldung: E2100 Datentyp zu groß: 2 GB überschritten. Nun die Frage ob ich das irgendwie umgehen kann?
Delphi-Quellcode:
MAXDATEIEN = 100;
MAXUNTERPRO = 10; MAXPROJEKTE = 100; TGroesse = 0..MAXDATEIEN; TProzent = 0..100; TAuswUP=array[0..MAXPROJEKTE,0..MAXDATEIEN,0..MAXUNTERPRO] of TProzent; TDateiErken = Record Gleichheit: TProzent; UnterprogrammeGleich: 0..MAXUNTERPRO; UnterProAnzahl: 0..MAXUNTERPRO; HauptGleich: 0..MAXDATEIEN; UP: TAuswUP; End; TAuswDatei = array[0..MAXDATEIEN] of TDateiErken; TAuswProjekt = array[0..MAXPROJEKTE] of TAuswDatei; TAuswertung = array[TGroesse] of TAuswProjekt; |
Re: Array grösse 2GB
Hi,
Du könntest eines der folgendenden Sachen machen. ;)
Möglicherweise ist die Lösung Deines Problems eine Kombinations aus einzelnen Punkten, aber ohne Dein Problem bzw. Dein Programm konkret zu kennen, lässt sich da nichts genaues zu sagen. mfG mirage228 |
Re: Array grösse 2GB
im übrigen wird bei
Delphi-Quellcode:
für MAXDATEIEIN + 1 Speicherplätze reserviert. In dem fall also 101.
array[0..MAXDATEIEN]
|
Re: Array grösse 2GB
Aber wenn ich Dynamische Array und Listen verwende komm ich ja Sppätestens wein ich wieder soviele Elmente habe an eine Gleiches Speicherproblem oder?
Bloss dann brauch ich 2 Gb Memory Speicher oder? Und braucht eine Liste nicht sogar mehr Speicher? |
Re: Array grösse 2GB
Hallo,
statische Arrays werden also zusammenhängender Speicherbereich erstellt, da ist wohl bei Delphi Schluss (genauer bei Windows). Mit TList werden kleine Häppchen angefordert, es wird ausserdem immer nur so viel Speicher benutzt, wie gerade benötigt wird. Es können 4Mrd Listeneinträge erstellt werden, wenn dir das zu wenig ist, was hast du vor ??? ;) Jedes Programm kann 2 Gig Speicher anfordern, ändern kann man das max. auf 3 GIG (Bootparameter von Windows). Heiko |
Re: Array grösse 2GB
Ok dann werd ich wohl Listen benutzten, immer noch besser als das zwischen zuspeichern in Dateien. Wahr auch winw Idee von mir.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 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