anchor.diff:  
   class procedure TMARSParametersIniFileReaderWriter.Load(
     const AParameters: TMARSParameters; const AIniFileName: string;
  -  const ABeforeLoad: TProc<TIniFile>);
  +  const ABeforeLoad: TProc<TMemIniFile>);
   var
  -  LIniFile: TIniFile;
  +  LIniFile: TMemIniFile;
     LSections: TStringList;
     LSection: string;
     LValues: TStringList;
  
positive.code: end;
  
  procedure TMARSParametersIniFileReaderWriterHelper.LoadFromIniFile(
    const AIniFileName: string; const ABeforeLoad: TProc<TIniFile>);
  begin
    TMARSParametersIniFileReaderWriter.Load(Self, AIniFileName, ABeforeLoad);
  end;
  
negative.code:     class function GetActualFileName(const AFileName: string): string;
    public
      class procedure Load(const AParameters: TMARSParameters;
        const AIniFileName: string = ''; const ABeforeLoad: TProc<TMemIniFile> = nil);
      class procedure Save(const AParameters: TMARSParameters; const AIniFileName: string = '');
      class function IniFileExists(const AIniFileName: string = '') : boolean;
    end;
  
    TMARSParametersIniFileReaderWriterHelper=class helper for TMARSParameters
    public
      procedure LoadFromIniFile(const AIniFileName: string = ''; const ABeforeLoad: TProc<TMemIniFile> = nil);
      procedure SaveToIniFile(const AIniFileName: string = '');
      function IniFileExists(const AIniFileName: string = '') : boolean;
    end;
  