AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor
Thema durchsuchen
Ansicht
Themen-Optionen

Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

Ein Thema von Chris55 · begonnen am 5. Okt 2020 · letzter Beitrag vom 22. Nov 2020
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

  Alt 5. Okt 2020, 09:45
.. aber wenn der Leak schon im Code (#4) auftritt, dann kann es ja nicht im Spring4D liegen.

Hat die Klasse einen Destructor?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

  Alt 5. Okt 2020, 09:52
Gibst du alle deine erstellten Klassen wieder frei?
Zumindest sieht man in deinem Code nichts davon.

Geändert von venice2 ( 5. Okt 2020 um 10:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.630 Beiträge
 
Delphi 12 Athens
 
#3

AW: Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

  Alt 5. Okt 2020, 09:54
Ich denke, der Fehler tritt schon bei Verwendung von Spring auf, aber eben auch wenn der class constructor leer ist. Nimmt man den Spring-Aufruf für die Klasse raus, wird vermutlich auch kein Leak entstehen.

Grundsätzlich ist auch gar nicht sicher, dass es sich wirklich um ein Leak handelt. Und wenn es ein Leak ist, ob ein Leak für ein Singleton überhaupt den Aufwand Wert ist es zu entfernen.

In jedem Fall ware @Stevie aber hier der richtige Ansprechpartner.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.343 Beiträge
 
Delphi 12 Athens
 
#4

AW: Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

  Alt 5. Okt 2020, 10:21
Wobei dieser Class-Constructor eh nutzlos ist, da diese Class-Variable sowieso beim Start immer 0 ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Chris55

Registriert seit: 5. Okt 2020
6 Beiträge
 
#5

AW: Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

  Alt 5. Okt 2020, 10:28
Meinerseits nochmals ein wenig zusammengefasst:

Diesen Memory-Leak habe ich bei mir bemerkt, als ich mit TSingleton.GetInstance<T> gearbeitet habe.
Das TSingleton in Spring4D gibt die erzeugte T-Instanz auch wieder selbst frei.
Diese Freigabe funktioniert aber scheinbar nicht mehr, sobald ich in meiner Klasse T einen "class constructor" einbaue.

Die erste Frage ist, warum es nicht mehr funktioniert bzw. was der "class constructor" damit zu tun hat.
Scheinbar wird der Code im Spring4D TSingleton.TSingleton<T>.Destroy dann nicht mehr aufgerufen?

Die zweite Frage ist, ob ich in einer Klasse, von der ich ganz normale Instanzen erzeugen will, einen solchen zusätzlichen "class constructor" (was auch immer der für Code dann beinhaltet) evtl. gar nicht nutzen soll oder darf, weil das vielleicht zu eben solchen Problemen führt.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.045 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Spring4D TSingleton<> Memory Leak bei Klasse mit class constructor

  Alt 22. Nov 2020, 22:52
Compilerbug: https://quality.embarcadero.com/browse/RSP-31719
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 20:33 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