AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Anfängerfrage zu FastMM 4Speicherlecks in einer Zeile
Thema durchsuchen
Ansicht
Themen-Optionen

Anfängerfrage zu FastMM 4Speicherlecks in einer Zeile

Ein Thema von BAMatze · begonnen am 24. Jul 2009 · letzter Beitrag vom 27. Jul 2009
 
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

Anfängerfrage zu FastMM 4Speicherlecks in einer Zeile

  Alt 24. Jul 2009, 15:09
Hallo nochmal an alle DP´ler,

noch eine Frage in Ergänzung zu den Posts heute morgen. Versuche gerade die Speicherlecks in meinem Programm mit der Empfehlung zur Verwendung von FastMM zu beseitigen. Jetzt stoße ich hierbei allerdings auf gewisse Widrigkeiten, wo ich mal gern wüsste, wie ich damit umgehen soll.

Ich verwende folgende 2 Funktionen, die ich auch hier in der DP gefunden habe:

Delphi-Quellcode:
function TFestplattenArbeit.DriveExists(DriveByte: Byte): Boolean;
begin
  Result := GetLogicalDrives and (1 shl DriveByte) <> 0; // Diese Zeile auskommentiert verringert die Anzahl der Speicherlecks um 4 Einträge.
end;

procedure TFestplattenArbeit.simpleDriveSearch(var LaufwerkList: TStringList);
var Index: Integer;
begin
  Index := 0;
// Die ursprüngliche "For Index := 0 to 25 do"-Schleife wurde abgeändert, da hier auch mehrer Speicherlecks "anscheinend" drin waren.
  while DriveExists(Index) do
    begin
      LaufwerkList.Add(Chr(Index + Ord('A')) + ':\');
      Inc(Index);
    end;
end;
Gerade bei der DriveExists-Funktion stehe ich jetzt vor einer meiner Meinung nach Zwiespältigen Frage, enthält diese Zeile wirklich 4 Speicherlecks? Sind das eventuell Folgefehler? Wenn ich die Funktionalität der Funktion haben möchte/ brauche, muss ich dann die Speicherlecks akzeptieren?

Ich hoffe jemand kann mir dort etwas Klarheit verschaffen. Ansonsten war der Tip mit FastMM sehr gut, habe somit meine Speicherlecks von anfänglich 105 auf 58 reduzieren können. Dachte mir schon, dass es einige sein würden, aber sicherlich nicht so viele. Eine Abschließende Frage ist eigentlich sollte man ein Programm möglichst immer mit 0 Speicherlecks erzeugen oder ist eine "verhältnismäßige" Anzahl an Speicherlecks/Zeilenanzahl akzeptabel?

Ps.: im Quellcodebeispiel steht einmal ein anscheinend in Anführungsstrichen, dies ist der Fall, da ich keine qualitativ oder quantitative Erkenntnis daraus gewinnen kann, da keine Erfahrung im Umgang mit Speicherlecks bei mir vorhanden ist.

Vielen Dank
BAMatze
2. Account Sero
  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 12:39 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 by Thomas Breitkreuz