AGB  ·  Datenschutz  ·  Impressum  







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

dyn array erweitern problem

Ein Thema von supermuckl · begonnen am 15. Nov 2004 · letzter Beitrag vom 15. Nov 2004
 
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#1

dyn array erweitern problem

  Alt 15. Nov 2004, 20:50
hiho.. hab mir mal vor ner woche mal schnell nen kleines prog schreiben wollen..
hab halt damit den verzeichnisbaum rekursiv erfassen wollen und das in ein dynamisches array schreiben wollen ( path + filename usw )

das dynamische array war vom typ record wobei dieses 2 string und eine integer variable beinhaltete.

wenn ich nun mit diesem findfirst, findnext gedöns das dynarray gefüllt hatte stieg der ramverbrauch ins unermessliche an und dann war nach ein paar sekunden sense ( nicht genügend speicher verfügbar fehler )

das problem war, das ich bei jedem schleifendurchgang ( der ja jedesmal ein file erfasste ) das dynamische array um 1 item vergrössert hatte..

wenn ich dieses vergrößern nun alle 1000 files(schleifendurchgänge) ausgelöst hatte und das array um 1000 items vergrössert hatte, funktionierte alles bestens ( ram verbrauch normal usw )

was genau hat sich hierbei abgespielt ?

wieso steigt der ramverbrauch so an ? und mit blockmäßiger vergrösserung nicht ?

hoffe mir kann jemand ein wenig erklären was da abgeht

hat bestimmt was mit der array verwaltung zu tun..

dieser code wurde verwendet, um in der schleife, das array zu vergrössern:

Delphi-Quellcode:
         if ((filecount mod 1000) = 0 )then setlength(alist,length(alist)+1000);
          inc(filecount);
und dieser hatte nicht funktioniert:

         setlength(alist,length(alist)+1);
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
 


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 21:59 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