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 JvDesktopAlert und Speichernutzung (https://www.delphipraxis.net/139990-jvdesktopalert-und-speichernutzung.html)

JonnyGuitar 9. Sep 2009 19:27


JvDesktopAlert und Speichernutzung
 
Guten Abend,

ich nutze JvDesktopAlert zum Ausgeben von Statusmeldung. Dabei gehe ich
genauso vor wie im Beispiel die der JVCL beiliegen beschrieben:
(hier mal stark verkürzt)
Delphi-Quellcode:
procedure Notify(msg: string);
var
  DA:TJvDesktopAlert;
begin
  DA := TJvDesktopAlert.Create(Self);
  DA.AutoFree := true;
  DA.HeaderText := 'test';
  DA.MessageText := msg;
  DA.Image := Image1.Picture;
  DA.Execute;
end;
Es kommen natürlich einige Meldungen hintereinander rein.
Ich kann in der Situation kein FreeAndNil(DA) da dann das Popup
natürlich sofort wieder verschwindet. Deswegen habe ich AutoFree := true
gesetzt. Trotzdem wächst der genutzte Speicher permanent an.
Ich komme bei 400 Popups auf ungefähr 10 MB.

Kann man daran irgendwas machen, bzw. habt ihr ne Idee wie ich das nachdem
Anzeigen wieder freigeben kann?



Gruss Jonny

JonnyGuitar 13. Sep 2009 10:04

Re: JvDesktopAlert und Speichernutzung
 
Hallo,

leider scheint keiner eine Lösung für dieses Problem zu kennen. Ich habe beim
durchschauen des Sourcecodes auch keine Erklärung gefunden.

Daher meine Frage, kennt jemand andere Komponenten mit ähnlicher Funktionalität?
Wichtig wäre das bei mehreren Meldungen die Fenster übereinander gestapelt werden wie beim JVDesktopAlert.
Können ruhig was kosten.


Gruss Jonny

jbg 13. Sep 2009 10:31

Re: JvDesktopAlert und Speichernutzung
 
Die Zeile "DA.Image := Image1.Picture;" dürfte das Problem sein, denn dabei wird für jedes DesktopAlert Fenster ein neues Picture angelegt. Und wenn du Execute aufrufst, wird das interne Picture gleich nochmal kopiert.

JonnyGuitar 13. Sep 2009 10:43

Re: JvDesktopAlert und Speichernutzung
 
Hallo,

leider ist das glaube ich nicht der Grund. Selbst wenn ich das Image
weglasse steigt der Speicher an.


Gruss Jonny

Sprint 13. Sep 2009 15:36

Re: JvDesktopAlert und Speichernutzung
 
Ich habe das jetzt mal unter Vista x64 mit Delphi 7 getestet. Keine Probleme bei mir. Speicher steigt nicht an.
Installiert ist bei mir JVCL337CompleteJCL1105-Build3400.

Denke, das Problem muss irgendwo anders liegen.

JonnyGuitar 13. Sep 2009 16:52

Re: JvDesktopAlert und Speichernutzung
 
Hallo,

habe ich gerade auch festgestellt. Dieser Speicheranstieg passiert nur
unter Windows XP. Unter Vista hingegen (ich habe die 32 Bit Version genommen)
wächst der Speicherverbrauch nicht an.

Woran könnte das liegen? Zumal ich bei der Suche nach einer Alternativkomponente
nicht wirklich fündig geworden bin. Das AdvAlertWindow von TMS unterbindet
Mehrfacheinblendungen des Fensters :(

Wäre cool wenn man das unter XP irgendwie in den Griff kriegen könnte.


Gruss Jonny


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