Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dyn. 3D-Arrays initialisieren (https://www.delphipraxis.net/26029-dyn-3d-arrays-initialisieren.html)

Insider2004 16. Jul 2004 19:14


Dyn. 3D-Arrays initialisieren
 
Kann mir einer den Widerspruch der Natur erklären:

Delphi-Quellcode:
type
  T3D = array of array of array of Byte;
var
  F3D: T3D;
begin
  //jeweils nur eine der folg. 3 Zeilen einfügen
  SetLength(F3D, 1, 1, 5000000); //allocs ca.   5 MB RAM --> ok
  SetLength(F3D, 1, 5000000, 1); //allocs ca. 100 MB RAM --> not ok ??? 
  SetLength(F3D, 5000000, 1, 1); //allocs ca. 175 MB RAM --> not ok ???
end.
[edit=sakura] [delphi]tags Mfg, sakura[/edit]

mirage228 16. Jul 2004 19:17

Re: Dyn. 3D-Arrays initialisieren
 
Hi,

Ich habe es eben mit Delphi 7 ausprobiert.

Bei allen 3 Varianten lag der Speicherverbrauch (gemessen im Taskmanager) unter 3 Megabyte (~ 2,7 MB).

Ich kann dein Phänomen also nicht nachvollziehen. Ich kann dir auch so nicht sagen, woran es liegt... :gruebel:

mfG
mirage228

Insider2004 16. Jul 2004 19:18

Re: Dyn. 3D-Arrays initialisieren
 
Kann das ein D-Bug sein? Ich habe D6 Pers.

supermuckl 16. Jul 2004 19:21

Re: Dyn. 3D-Arrays initialisieren
 
kommt in der 2. zeile nicht 25MB hin ?!

Insider2004 16. Jul 2004 19:26

Re: Dyn. 3D-Arrays initialisieren
 
Nein, leider nicht. Das Problem ist ja völlig symmetrisch. Von daher sollten es immer ca. 6 MB im Taskmanager sein.

Dani 16. Jul 2004 19:51

Re: Dyn. 3D-Arrays initialisieren
 
In meinem D6 Personal sind es auch 175 MB :shock:
Ein Bug im Compiler?

Insider2004 17. Jul 2004 14:21

Re: Dyn. 3D-Arrays initialisieren
 
Hier gibt es die Antwort!

http://www.delphi-groups.de/YaBBSe/i...art=0#lastPost

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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