AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Memory Leak bei INDY 10 in der SMTP Komponente?
Thema durchsuchen
Ansicht
Themen-Optionen

Memory Leak bei INDY 10 in der SMTP Komponente?

Ein Thema von emsländer · begonnen am 29. Aug 2006 · letzter Beitrag vom 16. Okt 2006
 
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#21

Re: Memory Leak bei INDY 10 in der SMTP Komponente?

  Alt 29. Aug 2006, 18:16
Hallo,

folgende Änderungen in der Datei idStack.pas sind notwendig, sonst kann es knallen (was ja der Grund für den Leak ist):
Nach Implementation:
Delphi-Quellcode:
var
  GInstanceCount: Integer = 0;
  GStackCriticalSection: TIdCriticalSection;
wird zu
Delphi-Quellcode:
var
  GInstanceCount: Integer = 0;
  GStackCriticalSection: TIdCriticalSection;
  GDestroying: Boolean; // Neue Variable
Die Methode TIdStack.DecUsage muss erweitert werden:
Delphi-Quellcode:
...
  finally GStackCriticalSection.Release; end;

  // Auf Destroying reagieren
  if (GInstanceCount = 0) and GDestroying then
    Sys.FreeAndNil(GStackCriticalSection);
end;
und am Ende:
Delphi-Quellcode:
finalization
  GDestroying := True;
  if GInstanceCount = 0 then
    Sys.FreeAndNil(GStackCriticalSection);
//Edit: Meine Lösung gilt für Version Version 10, jbg's für Version 9.
Gruß
xaromz
I am a leaf on the wind - watch how I soar
  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 06:24 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