AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi "Zu wenig Arbeitsspeicher" bei Application.ProcessMessages
Thema durchsuchen
Ansicht
Themen-Optionen

"Zu wenig Arbeitsspeicher" bei Application.ProcessMessages

Ein Thema von changlee · begonnen am 23. Jan 2010 · letzter Beitrag vom 24. Jan 2010
Antwort Antwort
changlee
(Gast)

n/a Beiträge
 
#1

"Zu wenig Arbeitsspeicher" bei Application.Process

  Alt 23. Jan 2010, 15:47
Hallo,

ich habe in meinem Programm das Problem, dass bei einer bestimmten Aktion häufig, aber nicht immer ein Exception mit der Meldung "Zu wenigArbeitsspeicher" ausgelöst wird.
Ich habe mir schon FastMM besorgt, um eventuellen Speicherlecks auf die Spur zu kommen. Doch daran scheint es nicht zu liegen.


Der Quelltext ist recht umfangreich, deshalb poste ich ihn erstmal nicht (wüsste sowieso nicht was...) sondern beschreibe mal abläuft:

Da die Prozedur eine gewisse Zeit läuft, schreibe ich an bestimmten Code-Stellen eine Status in 2 Labels. Jedes Mal, wenn der Status geschrieben wurde, wird ein Application.ProcessMessages aufgerufen.
Ganz am Ende, wenn ich die Statuslabels nur noch leere und ein abschließendes ProcessMessages aufrufe tritt häufig der beschriebene Fehler ein.

Wenn ich versuche per F7 in das ProcessMessages "hineinzusteppen" stürtzt die Delphi IDE komplett ab (tja, Delphi 2005).

Ich habe keine Ahnung wie ich jetzt weiter an das Problem rangehen soll.

Eine Endlosschleife kann es doch nicht sein, oder? Die würde doch die Anwendung einfrieren lassen.
Habe auch schon vermutet, dass ich irgendwelche Ereignisbehandlungsroutinen gegenseitig auslösen und es zu einer Art Rekursion kommt. Aber dann müsste der Fehler doch ein Stack-Überlauf sein, oder?

Kann mir jemand einen Tip geben, wie ich weitersuchen könnte?
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#2

Re: "Zu wenig Arbeitsspeicher" bei Application.Pro

  Alt 23. Jan 2010, 16:59
hey,
ich bin auch noch ein ziemlicher anfänger, aber ich könnte dir einen Tipp geben, wo solche meldungen bei mir oft ausgelöst wurden :

wenn du an bestimmten stellen speicher Reservierst (z.b. durch ein Dynamisches Array )
und dann mit dem Arbeitest
und dann ein neues brauchst

und du vergisst den Speicher wieder frei zu geben (weil delphi das vllt auch vergisst )

dann könnte es zu dieser Fehlermeldung kommen ...


als Tipp :

guck mal ob du irgendwo ein ".free" vergessen haben könntest ...


ich weiß ist nur nen doofer tipp aber vllt hilft er dir tzdm
  Mit Zitat antworten Zitat
changlee
(Gast)

n/a Beiträge
 
#3

Re: "Zu wenig Arbeitsspeicher" bei Application.Pro

  Alt 23. Jan 2010, 18:40
hi gangs-taas,

danke für den Tip, aber es ist wahrscheinlich kein vergessenes "Free".
Das habe ich bereits kontrolliert.
Ich habe gerade eben einen Fehler gefunden: Ein Zeiger auf ein Objekt wurde in einer function nicht korrekt zurückgegeben. Normalerweise gibt es dann Zugriffsverletzungen, wenn versucht wird aus dem entsprechenden Objekt zu lesen (was dann auch recht schnell zu finden ist).
Aber hier war es wohl anders. Der zurückgegeben Zeiger wurde nicht initialisiert. Sowie ich dann darauf zugegriffen habe, ist es zum Arbeitsspeicher-Exception gekommen.
Ich hoffe dass es daran lag. Zumindest kommt der Fehler jetzt nicht mehr.

Viele Grüße,
changlee
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: "Zu wenig Arbeitsspeicher" bei Application.Pro

  Alt 24. Jan 2010, 09:27
Also Application.PRocessMessages ist etwas ganz böses und kann zu einem rekursiven Aufrufen deiner Methode führen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  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 00:36 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