![]() |
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:
Es kommen natürlich einige Meldungen hintereinander rein.
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; 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 |
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 |
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.
|
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 |
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. |
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