AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Speicherleak in Multithradanwendung verhindern.
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherleak in Multithradanwendung verhindern.

Ein Thema von Corpsman · begonnen am 25. Jan 2009 · letzter Beitrag vom 25. Jan 2009
 
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Speicherleak in Multithradanwendung verhindern. [gelöst]

  Alt 25. Jan 2009, 13:54
Also :

Mehrfach Lesen ist ja kein Problem.

Die Liste hab ich weil ich zuvor ein Dynamisches Array hatte und das hat wirklcih Probleme gemacht.

Das Einzige Problem das also wirklich auftritt ist, wenn ich ein element Lösche welches gerade gelesen wurde.

Wie sich nun Herausgestellt hat. Tritt der Leak Fehler aber nicht deswegen auf.

Ich habe die Liste falsch Gekürzt.

Der Fehler Tritt immer dann auf, wenn ich neue Elemente einhänge, nachdem ich das
Letze Element bereits gelöscht hatte.

Nun habe ich die Löschen Procedur Entsprechend Angepasst, und die Engine läuft stabil und ohne Leak .

Getestet habe ich es nun mit 300000 Partikeln. .

Für die die Mitlesen und selbst weiterarbeiten wollen

Hier der neue "Lösch" Code der den Leak behebt.

Delphi-Quellcode:
 If p = Erstes Then Begin
        t := erstes;
        erstes := erstes^.next;
        dispose(t);
        p := erstes;
      End
      Else Begin
        t := p;
        v^.Next := p^.next;
        If p = Letztes Then Begin// <-- Neu
          Letztes := v;// <-- Neu
          v^.next := Nil;// <-- Neu
        End;
        p := p^.next;
        dispose(t);
      End;
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  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 03:49 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