![]() |
Fehler: Arbeitsspeicher zu klein (?!?)
Hi Leute,
ich hab mir in Delphi einen ICQ History Viewer programmiert. Über readln lese ich dabei zeile für zeile in einen dynamischen String-array ein. Nur leider kommt(erst während der Laufzeit) bei größeren Dateien der Fehler "Arbeitsspeicher zu klein". An sich kann er nicht zu klein sein(1 GB), aber ich vermute, dass Delphi sich nur einen bestimmten Bereich des Arbeitsspeichers reserviert. Kann man den irgendwie vergrößern. Oder, wenn meine Vermutung falsch ist, gibt es eine andere Möglichkeit ??? Hier mal der Code(ist nix besonderes):
Delphi-Quellcode:
var Lines: array of string;
function getLines: boolean; var fdatei: textfile; begin form1.opendialog1.execute; assignfile(fdatei,form1.OpenDialog1.FileName); reset(fdatei); repeat setlength(lines,length(lines)+1); readln(fdatei,lines[high(lines)]); until eof(fdatei); closefile(fdatei); end; |
Re: Fehler: Arbeitsspeicher zu klein (?!?)
Wie groß ist denn die Datei und wieviele Zeilen hat sie?
Ich vermute da eher ein Defragmentierungsproblem eventuell hilft es da ja auch schon, wenn du mal einen anderen MemoryManager verwendest ... ansich sollte der MM von Delphi 2 GB verwalten können. |
Re: Fehler: Arbeitsspeicher zu klein (?!?)
Hi Chris,
du verbrauchst auf diese Weise auf jeden Fall mehr Speicher als du denkst. Nimm statt des array lieber eine StringList:
Delphi-Quellcode:
Grüße vom marabu
uses
Classes; type TForm1 = class(TForm) private Lines: TStringList; end; procedure TForm1.FormCreate(Sender: TObject); begin Lines := TStringList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin Lines.Free; end; procedure TForm1.OpenButtonClick(Sender: TObject); begin with OpenDialog do if Execute then Lines.LoadFromFile(FileName); end; |
Re: Fehler: Arbeitsspeicher zu klein (?!?)
Argh, warum wird hier schon wieder in fünf Foren gleichzeitig gepostet? :evil:
![]() |
Re: Fehler: Arbeitsspeicher zu klein (?!?)
Zitat:
|
Re: Fehler: Arbeitsspeicher zu klein (?!?)
Zitat:
Und in oben erwähnten Forum wurde mir auch schon ausreichend geholfen. Vielen Dank trotzdem. Wer wissen will, was ich gemacht hat, kann ja dort grad mal schauen;) PS: Nur ZWEI Foren, keine fünf *g* |
Re: Fehler: Arbeitsspeicher zu klein (?!?)
Zitat:
Woher soll man wissen, was schon geantwortet wurde und was du schon probiert hast? Du hast vielelicht vile Antworten, aber wir machen uns umsonst die Mühe uns mit deinem Problem auseinanderzusetzen. Zitat:
|
Re: Fehler: Arbeitsspeicher zu klein (?!?)
auch wenn das jetzt ziemlich off-topic ist :
Da du ja schon den Link gepostet hattest, brauchte ich das ja nich mehr zu tun. Und irgendwie finde ich deine Reaktion bisschen übertrieben, ganz ehrlich. Ich finds ja nett, das du das verlinkt hast, aber vielleicht hätte ich das ja auch getan, nachdem mir geholfen wurde... Aber ich hab keine Lust groß zu diskutieren, wahrscheinlich hast du sowieso immer recht und dann red dich hier gegen ne Wand. In diesem Sinne erntschuldige ich mich beim ganzen Delphi-Praxisforum und verspreche in Zukunft von anfang an immer schön brav links zu setzen :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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