Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: MP3 mit DX abspielen / Beenden macht Fehler ...

  Alt 23. Sep 2009, 16:34
Eigentlich solltest du dir das "._Release" sparen können, da Interfaces eine interne Referenzzählung besitzen und sich automatisch freigeben - so stürzt es auf jeden fall mal nicht ab und Memory Leaks werden auch keine gemeldet:

Delphi-Quellcode:
procedure TMP3.Cleanup();
begin
  if pMediaCtrl <> nil then
  begin
    pMediaCtrl.Stop();
// pMediaCtrl._Release();
    pMediaCtrl := nil;
  end;

  if pBaseFilter <> nil then
  begin
// pBaseFilter._Release;
    pBaseFilter := nil;
  end;

  if pMediaEvent <> nil then
  begin
// pMediaEvent._Release();
    pMediaEvent := nil; // <--<< Boing #1
  end;

  if pGraphBuilder <> nil then
  begin
// pGraphBuilder._Release(); // <--<< Boing #2
    pGraphBuilder := nil;
  end;

  CoUninitialize();
end;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat