anchor.diff:    EXmlLite.Check( HR );
   end;
   
  -
  -function r(const c: cardinal; m: string): rErrorDecription; inline;
  -begin
  -  Result.Code := XmlError(c);
  -  Result.Message := m;
  -end;
  -
  +class constructor EXmlLite.InitMessages;
  +  function r(const c: cardinal; m: string): rErrorDecription; inline;
  +  begin
  +    Result.Code := XmlError(c);
  +    Result.Message := m;
  +  end;
   begin
     XMLLiteErrorMessages := TXMLLiteKnownErrors.Create(
       r($C00CEE01, 'unexpected end of input'),
  
positive.code:     r($C00CE01F, 'XML: Invalid Unicode characters'),
      r($C00CE06E, 'XML: Invalid charset encoding')
    );
  end.
  
negative.code: procedure CheckHR(const HR: HRESULT); inline; deprecated 'Use EXmlLite.Check';
  
  type
    rErrorDecription = record Code: XmlError; Message: String; end;
    TXMLLiteKnownErrors = array of rErrorDecription;
  
    EXmlLite = class(Exception)
    private
      FErrCode: Cardinal;
    public
      property ErrorCode: Cardinal read FErrCode; // 0 - unknown
      constructor CreateForErrCode(const FunctionResult: HRESULT);
    public
      Class Var XMLLiteErrorMessages: TXMLLiteKnownErrors; // may be localized by thrid-party units
      Class Constructor InitMessages;
  
      Class Function Check(const FunctionResult: HRESULT): HResult; inline;
      Class Function IsOK(const FunctionResult: HRESULT): boolean; inline;
    end;
  
  implementation
  