Einzelnen Beitrag anzeigen

AJ_Oldendorf

Registriert seit: 12. Jun 2009
385 Beiträge
 
Delphi 12 Athens
 
#1

SetLength -> Zu wenig Arbeitsspeicher?

  Alt 11. Aug 2010, 12:31
Hallo zusammen,
laut Suchfunktion bin ich ja nicht der erste der das Problem hat.
Ich habe das Problem, dass wenn meine Anwendung lange läuft (paar Tage), dass irgendwann sporadisch bei folgenden Aufruf

Delphi-Quellcode:
var
  aLaenge : Integer;
begin
  aLaenge := 77; //Beispiel

  try
    SetLength(InputMsg^, 12+aLaenge);
  except
    on E: Exception do
    begin
      ErrorStr := 'Aufruf von SetLength():';
    end;
  end;
end;
eine Exception entsteht mit "zu wenig Arbeitsspeicher".
Es ist aber noch genug Speicher verfügbar laut TaskManager (auch virtueller Speicher).
Die Frage ist, wie kann sowas entstehen bzw. wie kann man dies evtl. verbessern / abändern?
Ich verwende Delphi 2009 und die Anwendung läuft auf Win2003 Server.

Wäre für jeden Tip dankbar.

Viele Grüße
Alex

PS: InputMsg wird als PAnsiString in diese Funktion übergeben...

Geändert von AJ_Oldendorf (11. Aug 2010 um 12:45 Uhr)
  Mit Zitat antworten Zitat