Thema: Delphi Thread Queue probleme

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#11

AW: Thread Queue probleme

  Alt 2. Jun 2018, 14:14
Ich glaube du leakest den Speicher von vProcList , falls bFound = True .
Auf jeden fall ist das so.

Beim beenden der Anwendung bekomme ich ein Speicherleck Meldung von der vProcList angezeigt.
Glaube aber das ist deshalb weil die Pointer verschoben werden wie oder wo auch immer.

Denn ich gebe die ja frei FreeAndNil(vProcList);
Aber es fruchtet nicht die Speicherlecks kommen trotzdem.

Zitat:
Kannst du da denn nicht mal genauer reinsteppen mit dem Debugger und eine genaue Stelle nennen, an der es zum ersten Mal kracht nach dem Event?
Es kracht sobald ich irgendwo wieder auf TAudioVolume zugreife.
Die Zeile ist diese aber die macht nichts besonderes was den Fehler auslösen könnte.

Delphi-Quellcode:
function TAudioVolume.AudioSessionInfo(SessionIndex: integer): TAudioSessionInfo;
var
  Lbl: TLabel;
  tmpStr: string;
  bNull: BOOL;
  i: integer;
begin
  Result.ActiveSession := '';
  Result.DisplayName := '';
  Result.StateSession := '';
  Result.IconPath := '';
  Result.SessionIdentifier := '';
  Result.ProcessID := '';
  Result.IsSystemSoundsSession := -1;
  Result.SessionGuid := StringToGUID('{00000000-0000-0000-0000-000000000000}');
  Result.Device := nil;
  Result.PID := 0;

  bNull := False;

  tmpStr := ExtractFileExt(FAudioSessionInfo.DisplayName); \\ <<<<<<< Hier kracht es
  if Length(tmpStr) > 1 then
    tmpStr := ChangeFileExt(FAudioSessionInfo.DisplayName, '')
  else
    tmpStr := FAudioSessionInfo.DisplayName;
Ok
FreeAndNil(vProcList); steht an falscher stelle muss eine Zeile tiefer. Danke.
Werde mal schauen ob das mein Problem behebt.

Die Leaks sind behoben aber das Problem bleibt bestehen.
Habe nur diese beiden. Siehe Anhang.


gruss

Geändert von EWeiss (11. Jul 2019 um 16:51 Uhr)
  Mit Zitat antworten Zitat