Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStylemanager + Memory Leak (https://www.delphipraxis.net/203140-tstylemanager-memory-leak.html)

TigerLilly 16. Jan 2020 19:50

TStylemanager + Memory Leak
 
Ich aktiviere einen Style:

Code:
  sFileName := ParamStr(0);
  sFileName := TPath.ChangeExtension(sFileName, 'style');
  if TFile.Exists(sFilename) then
    TStyleManager.SetStyleFromFile(sFileName);
Beim Programmende wird mir ein memoryleak angezeigt. Wie kann ich den StyleManager wieder abräumen?

Danke für jeden Tipp.

Rollo62 17. Jan 2020 05:27

AW: TStylemanager + Memory Leak
 
Probier mal

Delphi-Quellcode:
TStyleManager.SetStyle(nil);

TigerLilly 17. Jan 2020 08:51

AW: TStylemanager + Memory Leak
 
:shock: Auf die Idee wär ich nicht gekommen. Das probier ich mal.

TigerLilly 17. Jan 2020 15:09

AW: TStylemanager + Memory Leak
 
Update: Hilft nix. Trotzdem MemoryLeaks.

Daniel 17. Jan 2020 15:18

AW: TStylemanager + Memory Leak
 
Was leakt denn genau? Wenn es exakt eine Instanz vom TStyleManager und dessen internen Strukturen ist, dann ist das ein sog. "expected leak".
Wenn es nur der StyleManager ist, dann ist er (a) eh nur einmal im Speicher und wird (b) am Ende so oder so abgeräumt.

TigerLilly 17. Jan 2020 16:31

AW: TStylemanager + Memory Leak
 
Code:
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:



1 - 12 bytes: TWinAcceleratorKeyRegistry.TAcceleratorKeyReceivers x 1

53 - 60 bytes: TObjectDictionary<System.Char,System.Generics.Collections.TList<FMX.AcceleratorKey.IAcceleratorKeyReceiver>> x 1, Unknown x 1


---------------------------
OK  
---------------------------
Naja, expected oder nicht - ob klein oder groß - wenn ich´s vermeiden kann, hätt ich gern kein Leak.

TigerLilly 17. Jan 2020 16:34

AW: TStylemanager + Memory Leak
 
Ach ja - das ist nicht bei allen Styles so. Das sind ältere aus Delphi-Vorversionen. Kann es sein, dass man die nicht verwenden sollte?

Rollo62 17. Jan 2020 17:18

AW: TStylemanager + Memory Leak
 
Es gibt die PremiumStyles, habe aber nicht nachgeschaut ob es da Updates gibt.
Ich glaube die sind für alle 10.3.x gleich geblieben.

TigerLilly 17. Jan 2020 17:23

AW: TStylemanager + Memory Leak
 
Ich hab die jetzt 1:1 verwendet, was ich nicht versucht habe, ist den Style im Designer zu laden + neu zu speichern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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