Die Methode hat da ein Memoryleak. Wenn man was googelt, findet man die Lösung:
Füge in der Methode TPNGGraphic.LoadFromStream(Stream: TStream); ungefähr in Zeile 6985 ein FreeMem(FRawBuffer); ein - unmittelbar vor FRawBuffer := nil;
Delphi-Quellcode:
// ...
FPalette := 0;
FTransparency := nil;
FBackgroundColor := clWhite;
FTransparentColor := clNone;
// first chunk must be an IHDR chunk
FCurrentCRC := LoadAndSwapHeader;
!!!! FreeMem(FRawBuffer);
FRawBuffer := nil;
ColorManager.SourceOptions := [coNeedByteSwap];
try
// read IHDR chunk
ReadDataAndCheckCRC;
Move(FRawBuffer^, Description, SizeOf(Description));
// ...
The angels have the phone box.