Speicherproblem



  • Hallo zusammen!
    Ich habe ein Problem mit meinem Programm.
    Fehlerbeschreibung: Wenn ich das programm ausführe wird im Taskmanager die Speicherauslastung langsam immer größer.

    Dieses Programm beinhaltet das einbinden einer DLL und das benutzen von COMobjekten. Darunter befinden sich auch BStrings und Variants.

    An sich wird nur eine Klasse "ausgeführt". Innerhalb dieser Klasse laufen 2 Threads, wovon nur einer die DLL benutzt. Es werden zyklisch Daten von Extern im 100 ms Takt gepollt.
    Zu Beginn der Pollfunktion werden die Variants und Bstrings angelegt und initalisiert. Im Programm wird dann ein Variant als Zwischenspeicher für die Daten des externen Geräts benutzt. Am Ende der Funktion wird VARIANTClear aufgerufen.

    Die BStrings werden auch anfangs angelegt und initalisiert.
    Am Ende der Funktion werden diese alle mit ::SysfreeString() wieder freigegeben.

    Wo kann Dieses Speicherleck herkommen?


  • Mod

    Du gibtst eben Speicher nicht frei...
    http://www.codeproject.com/KB/applications/leakfinder.aspx


Anmelden zum Antworten