AGB  ·  Datenschutz  ·  Impressum  







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

Array grösse 2GB

Ein Thema von fgb · begonnen am 26. Nov 2006 · letzter Beitrag vom 26. Nov 2006
Antwort Antwort
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#1

Array grösse 2GB

  Alt 26. Nov 2006, 13:58
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;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Array grösse 2GB

  Alt 26. Nov 2006, 14:04
Hi,

Du könntest eines der folgendenden Sachen machen.
  • Du änderst die Größe deiner Konstanten
  • Du überdenkst Dein Programm-Design, sodass Du nicht mehr so viele und so große Arrays benötigst
  • Du verwendest dynamische Arrays
  • Du verwendest Listen (TObjectList, TList)
  • Du verwendest OOP (Klassen) in Kombination mit Listen
  • ...

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
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Array grösse 2GB

  Alt 26. Nov 2006, 14:07
im übrigen wird bei
array[0..MAXDATEIEN] für MAXDATEIEIN + 1 Speicherplätze reserviert. In dem fall also 101.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#4

Re: Array grösse 2GB

  Alt 26. Nov 2006, 14:21
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?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Array grösse 2GB

  Alt 26. Nov 2006, 14:34
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
Heiko
  Mit Zitat antworten Zitat
fgb

Registriert seit: 4. Okt 2004
35 Beiträge
 
#6

Re: Array grösse 2GB

  Alt 26. Nov 2006, 14:41
Ok dann werd ich wohl Listen benutzten, immer noch besser als das zwischen zuspeichern in Dateien. Wahr auch winw Idee von mir.
  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 11:41 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