![]() |
belegter Speicher wächst, wenn Programm minimiert ist
Hallo zusammen,
ich habe in Phänomen entdeckt. In meinem Programm werden im Hintergrund Aufnahmen der Soundkarte mittels MCISendString gemacht. Wenn das Programm im Maximiert ist, dann bleibt der Speicher klein. Wenn ich aber das Programm in die Trayleiste minimiere (CoolTrayIcon), dann wächst der Speicher stetig an, bis irgendwann die StringGrids, die nach jeder Aufnahme neu aufgebaut werden, nicht mehr angezeigt werden. Alles andere im Programm funktioniert problemlos weiter. Hat jemand eine Idee, warum der Speicher anwächst, wenn das Programm im Tray minimiert ist?! Vielen Dank an alle!!! |
Re: belegter Speicher wächst, wenn Programm minimiert ist
Überprüfe mal dein Programm auf Speicherlecks mittels FastMM oder MemCheck.
|
Re: belegter Speicher wächst, wenn Programm minimiert ist
Hallo,
ich habe das gestern noch mal bisschen analysiert und der Speicher wächst auch an, wenn das Programm nur in die normale Taskleiste minimiert ist. Sobald das Programm maxmimiert ist läuft es einwandfrei. Mit den Tools zum Speicherleck finden kenne ich micht nicht aus, gibt es da auch die Möglichkeit zu sehen, wie die Objekte heißen, die den Speicher fressen?! |
Re: belegter Speicher wächst, wenn Programm minimiert ist
schau einfach manuell, ob Du alle Objekte, die Du anlegst auch wieder zur richtigen Zeit freigibst.
Interssant ist das vor allem bei "New" und bei TList-Abkömmlingen. Aber auch Streams und andere Objekte können MemLeaks verursachen, wenn sie nicht richtig verwendet werden. zeig uns doch mal den Quellcode, dann können wir das auch analysieren und müssen nicht spekulieren... |
Re: belegter Speicher wächst, wenn Programm minimiert ist
Zitat:
![]() Öffne deine DPR-Datei ("Projekt-Quelltext anzeigen") und füge MemCheck als allererste Unit in die uses-Klausel ein. Dann rufe als erstes nach dem begin der Hauptprozedur MemChk auf.
Delphi-Quellcode:
Beim Programmende wird dann ein kleiner Bericht (eine Textdatei) geöffnet, die dir evtl. Speicherlecks anzeigt.
program MemCheckTest;
uses MemCheck, // <-- hier SysUtils, Forms, { ... deine alten Units } ; {$R *.RES} begin MemChk; // <-- hier Application.Initialize; { ... der alte Code } end. Du solltest dann zum Testen auch TD32-Debug-Informationen einschalten, dann zeigt die der Bericht sogar an, wo im Quelltext der Speicher angefordert wurde. |
Re: belegter Speicher wächst, wenn Programm minimiert ist
Zitat:
FormCreate? FormShow? oder was? /Edit: hat sich erledigt durch RTFM. -> es ist in der .dpr |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 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