Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Seltsames MemoryLeak bei Verwendung von Move (https://www.delphipraxis.net/99249-seltsames-memoryleak-bei-verwendung-von-move.html)

Zacherl 9. Sep 2007 14:06


Seltsames MemoryLeak bei Verwendung von Move
 
Hey,

ich habe folgenden Code:

Delphi-Quellcode:
procedure Thread2;
var
  Data: Pointer;
  Count: Cardinal;
begin
  repeat
    Data := ReadFromMMF('TestMapping2', SizeOf(Count));
    if Assigned(Data) then
    begin
      Move(Data^, Count, SizeOf(Count));
      if Count <= (GetTickCount + 50) then
      begin
        //Form1.Label2.Caption := IntToStr(Count);
        Count := GetTickCount;
        WriteToMMF('TestMapping1', @Count, SizeOf(Count));
      end;
    end;
    GlobalFree(Cardinal(Data));
    Sleep(30);
  until Go2 = false;
end;
Im Taskmanager kann ich beobachten wie der Arbeitsspeicherverbrauch der Anwendung rapide konstant zunimmt. Kommentiere ich das Move aus, bekomme ich kein Leak mehr. Vergesse ich irgendwelchen Speicher wieder freizugeben?

Gruß Florian

Zacherl 9. Sep 2007 16:52

Re: Seltsames MemoryLeak bei Verwendung von Move
 
Okey lag doch nicht an Move .. hatte in meinen MMF Funktion UnmapViewOfFile vergessen :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz