Einzelnen Beitrag anzeigen

Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#1

EOutOfRessources bei vielen Bitmap-Operationen

  Alt 21. Jun 2005, 13:31
Hallo zusammen,

In meinem Programm wird ein MJpeg-Stream ausgelesen und jedes einzelne Bild hintereinander in ein Bitmap kopiert. Nach etwa 3 Stunden Laufzeit bekomme ich nur noch EOutOfResources-Exceptions.

So sieht die Funktion aus, die meine Bitmaps füttert:
Delphi-Quellcode:
procedure TMJPEGThread.GenerateBitmap;
var
  JPEGImage: TJPEGImage;
begin
  JPEGImage := TJPEGImage.Create;
  try
    JPEGImage.LoadFromStream(FAktImg);
    JPEGImage.Performance := jpBestSpeed;

    FBitmap.Assign(JPEGImage);
    ImgReady(FBitmap);
  finally
    JPEGImage.Free
  end;
end;
In der Zeile mit dem Assign meldet mir MemProof
Zitat:
60463 CreateDIBSection(1023481475,...,0,03E10000,0,0) Bitmap 9E051863 0 404 CreateDIBSection gdi32.dll
CreateDIBSection creates a device-independent bitmap that applications can write to directly.
The returned bitmap handle must be freed with DeleteObject when no longer needed.
Muss ich also vor dem Assign den alten Inhalt des Bitmaps freigeben?

Ich hab versucht FBitmap.FreeImage aufzurufen, bevor das neue Bild zugewiesen wird, dass ändert aber nix an den Meldungen von MemProof.

Was mach ich falsch?

grüße, daniel

[EDIT]Hatte nur die hälfte von der Memproof-Meldung kopiert.[/EDIT]
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat