AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unbenutzte Objekte erkennen

Ein Thema von bernie110 · begonnen am 6. Sep 2008 · letzter Beitrag vom 6. Nov 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#11

Re: Unbenutzte Objekte erkennen

  Alt 13. Okt 2008, 10:09
Zitat von Jelly:
Oder besser gleich alle Objekte in eine TObjectList aufnehmen, und diese Liste einfach am Ende freigeben. Die ObjectList hat die Funktionalität, beim Freigeben alle enthaltenen Objekte mit freizugeben.

Hhmmm? Wie der OP vorher geschrieben hat, werden die Objekte teilweise freigegeben und teilweise nicht. Eine Objektliste merkt aber nicht, daß ein Objekt freigegeben wurde. Der Zeiger ist immer noch vorhanden. Wenn nun die Objektliste versucht ein Objekt freizugeben, welches gar nicht mehr vorhanden ist, dann dürfte es krachen.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Unbenutzte Objekte erkennen

  Alt 13. Okt 2008, 10:23
Ich werfe einfach mal ein Wort in den Raum was dir alle Sorgen abnimmt... Keine Referenz kein Objekt:
"Interfaces"

Gruß
reli
  Mit Zitat antworten Zitat
bernie110

Registriert seit: 13. Sep 2004
Ort: Uetersen
27 Beiträge
 
Delphi XE6 Professional
 
#13

Re: Unbenutzte Objekte erkennen

  Alt 15. Okt 2008, 19:03
Zitat von Jelly:
Oder besser gleich alle Objekte in eine TObjectList aufnehmen, und diese Liste einfach am Ende freigeben. Die ObjectList hat die Funktionalität, beim Freigeben alle enthaltenen Objekte mit freizugeben.
Letztlich hat nur _dieser_ Hinweis die Lösung gebracht, nachdem meine anderen Ideen immer wieder zu Fehlern führten.

Also habe ich eine zusätzliche Liste erzeugt, die nur dazu da ist, die Objekte zu listen und am Ende wieder freizugeben.

Nun habe ich laut FastMM nur noch 2 Leaks übrig, von denen ich aber nicht wieß, wie ich sie beseitigen kann; möglicherweise ist ja auch noch ein Bug in den Standard-Modulen?

Kurzfassung:
Zitat:
A memory block has been leaked. The size is: 68

Stack trace of when this block was allocated (return addresses):
402A97 [System][@GetMem]
404043 [System][TObject.NewInstance]
40440A [System][@ClassCreate]
404078 [System][TObject.Create]
762197C5 [Unknown function at SHFree]
4D05F3 [ShellCtrls][TShellFolder.Create]
4D03F9 [ShellCtrls][CreateRootFromPIDL]
4D0549 [ShellCtrls][CreateRootFolder]
76F38A2F [GetClientRect]
4608B0 [Controls][TWinControl.GetClientRect]

The block is currently used for an object of class: TStringList

...

A memory block has been leaked. The size is: 52

Stack trace of when this block was allocated (return addresses):
402A97 [System][@GetMem]
404043 [System][TObject.NewInstance]
40440A [System][@ClassCreate]
4D05B3 [ShellCtrls][TShellFolder.Create]
4D03F9 [ShellCtrls][CreateRootFromPIDL]
4D0549 [ShellCtrls][CreateRootFolder]
76F38A2F [GetClientRect]
4608B0 [Controls][TWinControl.GetClientRect]
4D1E9C [ShellCtrls][TCustomShellTreeView.CreateRoot]
4D2CB1 [ShellCtrls][TCustomShellTreeView.Loaded]

The block is currently used for an object of class: TShellFolder
Die komplette FastMM-Ausgabe ist im Anhang - hat jemand von Euch eine Idee oder gar die Lösung?

Danke für Eure Beiträge!
Angehängte Dateien
Dateityp: txt memorymanager_eventlog_176.txt (4,9 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Unbenutzte Objekte erkennen

  Alt 6. Nov 2008, 13:29
Hab grad das selbe Problem bei mir festgestellt - hier steht die Lösung: http://www.bpsoftware.com/blog/labels/Fixes.html
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:11 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