anchor.diff:  begin
     FHandle := AHandle;
   
  -//  ASSERT(Handle <> 0);
  +  { It's possible to set the Handle to zero
  +    In this case we effectively disallowing new painting
  +    until a new handle is set }
  +  if AHandle = 0 then Exit;
   
     Windows.SelectObject(Handle, FDefaultFontHandle);
     Windows.GetTextMetrics(Handle, @FFontMetrics);
  
positive.code: begin
    rect := FPaintStruct.rcPaint;
  
    hdcMem := CreateCompatibleDC(FPaintStruct.hdc);
  
    NewBitmap := Windows.CreateCompatibleBitmap(FPaintStruct.hdc, Width, Height);
  
negative.code: 
    FCanvas.SetHandle(hdcMem);
  
    { Execution of user paint code }
  
    if Assigned(OnPaint) then OnPaint(Self);
  
    { Flushes the result to the screen }
    
    Windows.BitBlt(
     FPaintStruct.hdc,       // handle to destination DC
     rect.Left,              // x-coord of destination upper-left corner
     rect.Top,               // y-coord of destination upper-left corner
  