anchor.diff:      class function GetActualFileName(const AFileName: string): string;
     public
       class procedure Load(const AParameters: TMARSParameters;
  -      const AIniFileName: string = ''; const ABeforeLoad: TProc<TIniFile> = nil);
  +      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<TIniFile> = nil);
  +    procedure LoadFromIniFile(const AIniFileName: string = ''; const ABeforeLoad: TProc<TMemIniFile> = nil);
       procedure SaveToIniFile(const AIniFileName: string = '');
       function IniFileExists(const AIniFileName: string = '') : boolean;
     end;
  
positive.code: end;
  
  procedure TMARSParametersIniFileReaderWriterHelper.LoadFromIniFile(
    const AIniFileName: string; const ABeforeLoad: TProc<TIniFile>);
  begin
    TMARSParametersIniFileReaderWriter.Load(Self, AIniFileName, ABeforeLoad);
  end;
  
negative.code:   LName: string;
    LValue: string;
  begin
    LIniFile := TMemIniFile.Create(GetActualFileName(AIniFileName));
    try
      if Assigned(ABeforeLoad) then
        ABeforeLoad(LIniFile);
  