![]() |
Re: Exe aufrufen ?
Und du bist der Ursache, warum er nach "3 Tagen" immer abschmiert, noch nie auf den Grund gegangen?
|
Re: Exe aufrufen ?
Ich lese überall das durch das Beenden eines Programms Speicherlecks wieder gelöscht werden !
|
Re: Exe aufrufen ?
Zitat:
Arbeitest du mit Objekten? Hast du irgendwelche Konstruktionen verwendet wo du mit einem Objekt über mehrere Prozeduren arbeitest? Bei sowas verliert man gelegentlich den Überblick. Arbeitest zufällig mit Bitmaps? Ich hatte mal ein sonderbares Speicherleck. Ich konnte auch im Taskmanager das Speicherloch sehen, denn das Programm wurde in jeder Sekunde größer. Das Schlimme, ich war mir keiner Schuld bewußt, da ich wußte alles wieder korrekt freigegeben zu haben. Trotzdem habe ich alles nochmal grob Überprüfung und keinen Fehler gefunden. Die Rätsels Lösung, ich war damals etwas faul beim programmieren und benutze oft den Autovervollständiger. Ich war damals so faul, daß ich den sogar beim Free benutzt habe. Objekt, Punkt, STRG+Leerzeichen, FR eingeben, Enter drücken. Das war ein Automatismus beim Autovervollständigen. Im Kopf hatte ich die nötigen Kürzel für vieles. Das Problem ist aber, daß FR und Enter in der Regel Free ergeben, aber nicht bei TBitmap, dort bekommt man FreeImage raus. Bei der groben Suche ist mir das nichtmal aufgefallen. Sogar bei genauen Suche brauchte ich zwei Sekunden bis ich es bemerkt habe. Ich guckte die Zeile an, hatte sofort das Gefühl, daß da irgendetwas nicht stimmt, wußte aber im ersten Moment nicht was. Irgendwie war Free da, aber irgendwas mit der Länge stimmte nicht. Man kann also auch Speicherlecks haben, auch wenn man sich dessen nicht bewußt ist. Seit der Zeit habe ich mit übrigens den Autovervollständiger abgewöhnt und benutze den nur noch selten. |
Re: Exe aufrufen ?
Zitat:
Und wenn du Speicherlecks hast, besorg dir FastMM oder MemChk, geh diesen auf den Grund und beseitige sie. ;) |
Re: Exe aufrufen ?
Ok ich werde versuchen diese Speicherlecks zu finden und sie beseitigen !
Danke für eure Hilfe ! |
Re: Exe aufrufen ?
Zitat:
Warum rufst du nicht Close auf? Mit dem Beenden eines Programmes werden keine Speicherlecks "gelöscht". Ich möchte ja nicht wissen, was wäre, wenn du Arzt wärst: "Sie haben schmerzen? Gut, ich hole schon mal die Todesspritze. Da nach sind alle Schmerzen weg. Ihre Mutter kann ja einen neuen Sohn erzeugen." :wall: Such das Speicherleck. Hinweise hat dir Popov schon gegeben: - Reservierter Speicher, der nicht freigegeben wird - Selbst erstellte Objekte, die nicht frei gegeben werden - ... |
Re: Exe aufrufen ?
Ich denke er meint, dass das zweite Programm das erste Programm per TerminateProcess "abschießt".
Und Windows räumt afaik den Speicher hinter einem Programm schon auf, wenn es beendet wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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