Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#9

AW: Videoanalyse (ähnlich wie Lichtschranke)

  Alt 20. Dez 2015, 04:26
Leider scheint die Prozedur denn Speicher nicht ordentlich aufzuräumen,
denn nach einigen Sekunden (Scannrate 100ms) gehen mir die Ressourcen aus.
Das ist einer der fiesen Fälle, wo eine Funktion eine Instanz als Result zurück gibt. Es gibt hier in der DP ein paar Diskussionen dazu, die sich damit befassen wer denn in so einem Fall nun für das Aufräumen dieser Instanz zuständig ist. Um den Code von GetScreenShot() nicht anfassen zu müssen, schlage ich folgende Lösung vor:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  bmp := GetScreenShot;
  if Assigned(bmp) then
  begin
    try
      Image1.Picture.Bitmap.Assign(bmp);
    finally
      bmp.Free;
    end;
  end;
end;
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat