anchor.diff:    LName: string;
     LValue: string;
   begin
  -  LIniFile := TIniFile.Create(GetActualFileName(AIniFileName));
  +  LIniFile := TMemIniFile.Create(GetActualFileName(AIniFileName));
     try
       if Assigned(ABeforeLoad) then
         ABeforeLoad(LIniFile);
  
positive.code: 
  class procedure TMARSParametersIniFileReaderWriter.Load(
    const AParameters: TMARSParameters; const AIniFileName: string;
    const ABeforeLoad: TProc<TIniFile>);
  var
    LIniFile: TIniFile;
    LSections: TStringList;
    LSection: string;
    LValues: TStringList;
  
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;
  