AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler: Arbeitsspeicher zu klein (?!?)
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler: Arbeitsspeicher zu klein (?!?)

Ein Thema von Chris WF · begonnen am 17. Mär 2006 · letzter Beitrag vom 17. Mär 2006
Antwort Antwort
Benutzerbild von Chris WF
Chris WF

Registriert seit: 15. Nov 2004
27 Beiträge
 
Delphi 5 Standard
 
#1

Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 13:12
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;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 13:38
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 13:40
Hi Chris,

du verbrauchst auf diese Weise auf jeden Fall mehr Speicher als du denkst. Nimm statt des array lieber eine StringList:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 13:44
Argh, warum wird hier schon wieder in fünf Foren gleichzeitig gepostet?

http://www.delphi-forum.de/viewtopic...=344976#344976
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 13:44
Zitat von marabu:
du verbrauchst auf diese Weise auf jeden Fall mehr Speicher als du denkst.
Also mindestens 12 Byte pro String gehen alleine für die Stringbehandlung und das Speichermanagement drauf.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Chris WF
Chris WF

Registriert seit: 15. Nov 2004
27 Beiträge
 
Delphi 5 Standard
 
#6

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 13:59
Zitat von Luckie:
Argh, warum wird hier schon wieder in fünf Foren gleichzeitig gepostet?

http://www.delphi-forum.de/viewtopic...=344976#344976
Um möglichst viele produktive Antworten zu bekommen...

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*
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 14:06
Zitat von Chris WF:
Zitat von Luckie:
Argh, warum wird hier schon wieder in fünf Foren gleichzeitig gepostet?

http://www.delphi-forum.de/viewtopic...=344976#344976
Um möglichst viele produktive Antworten zu bekommen...
Nein, die würdest du auch in einem Forum bekommen und wenn nach drei tagen keine hilfreiche Antwiort dabei ist, DANN kann man es noch mal in einem anderen Forum probieren (und nach Möglichkeit die Beiträge verlinken, damit man weiß, was schon geantwortet wurde).

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:
Wer wissen will, was ich gemacht hat, kann ja dort grad mal schauen
Und wo?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Chris WF
Chris WF

Registriert seit: 15. Nov 2004
27 Beiträge
 
Delphi 5 Standard
 
#8

Re: Fehler: Arbeitsspeicher zu klein (?!?)

  Alt 17. Mär 2006, 14:44
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
  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 10:12 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