AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Wie Speicherleck beheben (GetWindowsLanguage)?

Ein Thema von BlueStarHH · begonnen am 8. Jul 2020 · letzter Beitrag vom 8. Jul 2020
 
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
855 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie Speicherleck beheben (GetWindowsLanguage)?

  Alt 8. Jul 2020, 11:34
Hallo,

ich ermittele die "Language ID" (Sprache von Windows) mit diesem Code:

Delphi-Quellcode:
function GetWindowsLanguage(LCTYPE: LCTYPE {type of information}): string;
var
  Buffer : PChar;
  Size : integer;
begin
  Size := GetLocaleInfo (LOCALE_USER_DEFAULT, LCType, nil, 0);
  GetMem(Buffer, Size);
  try
    GetLocaleInfo (LOCALE_USER_DEFAULT, LCTYPE, Buffer, Size);
    Result := string(Buffer);
  finally
    FreeMem(Buffer); <-- Speicherleck hier
  end;
end;

Aufruf mit:
GetWindowsLanguage(LOCALE_ILANGUAGE);
gefunden unter https://www.swissdelphicenter.ch/de/showcode.php?id=320

Nun habe ich FastMM5 eingebunden und der zeigt an, dass es ein Speicherleck gibt:
Code:
---------------------------
Memory Corruption Detected
---------------------------
A memory block footer has been corrupted.
The block size is 5.
The block was allocated by thread 0x1C3C, and the stack trace (return addresses) at the time was:

00425680 [FastMM5.pas][FastMM5][FastMM_DebugGetMem_GetDebugBlock][7292]
004256FB [FastMM5.pas][FastMM5][FastMM_DebugGetMem][7315]
0040755E [System][System][@GetMem]
00BF9A33 [test.pas][test][GetWindowsLanguage][20235]
....
The allocation number is: 51923

Current memory dump of 13 bytes starting at pointer address 8333020:
30 00 34 00 30 00 37 00 00 00 80 80 80
0  . 4  . 0  . 7  . . . . . .

Wie kann ich das beheben?
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 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 by Thomas Breitkreuz