anchor.diff:  
     count := strm.read (buffer, sizeof (buffer)) ;
     If count < Sizeof (Buffer) Then
  +  Begin
  +    strm.Free;
       Exit ;
  +  End;
   
     If (Buffer [1] = 137)
         And (Buffer [2] = 80)
  
positive.code:     Result := GifImage 
    Else if (Buffer [1] = Ord ('B')) And (Buffer [2] = Ord ('M')) Then
      Result := BmpImage ;
    End ;
  
  Function ReadImage (Filename : String ; image : TBitmapImage ;
  
negative.code:     decoder.Destroy ;
      End ;
    End ;
  End.
  