Ich suche nach einem Speicher-Leck in einer komplexen Applikation.
Es werden sehr viele (!!!) COM-Objekte erzeugt, die natürlich den Speicherbedarf der Anwendung sehr schnell in die Höhe treiben. Eigentlich gibt es für die nicht mehr benötigten Objekte auch eine Methode, mit der Speicher wieder freigegeben wird (Aufruf von Release()). Diese Methode wird auch immer wieder aufgerufen, doch es ist nicht festzustellen, daß der Speicherbedarf danach geringer wird. Da die Objekte bei jeder Benutzeraktion in einem Dialog neu erzeugt werden, die alten Objekte jedoch anscheinend nicht wieder ihren Speicher frei geben, kommt das System schnell an seine Grenzen und wird unzumutbar langsam. Hat vielleicht jemand einenTip, woran das liegen kann ? Zur Information: die COM-Objekte werden in einer DLL erzeugt, die als Benutzeranpassung an eine exe-Datei angebunden wird.
Es werden sehr viele (!!!) COM-Objekte erzeugt, die natürlich den Speicherbedarf der Anwendung sehr schnell in die Höhe treiben. Eigentlich gibt es für die nicht mehr benötigten Objekte auch eine Methode, mit der Speicher wieder freigegeben wird (Aufruf von Release()). Diese Methode wird auch immer wieder aufgerufen, doch es ist nicht festzustellen, daß der Speicherbedarf danach geringer wird. Da die Objekte bei jeder Benutzeraktion in einem Dialog neu erzeugt werden, die alten Objekte jedoch anscheinend nicht wieder ihren Speicher frei geben, kommt das System schnell an seine Grenzen und wird unzumutbar langsam. Hat vielleicht jemand einenTip, woran das liegen kann ? Zur Information: die COM-Objekte werden in einer DLL erzeugt, die als Benutzeranpassung an eine exe-Datei angebunden wird.
Comment