anchor.diff:    FIniFile.WriteString(cProjectOptions, 'MainUnit', MainUnit);
     FIniFile.WriteString(cProjectOptions, 'TargetFile', TargetFile);
     FIniFile.WriteInteger(cProjectOptions, 'DefaultMake', DefaultMake);
  +  FIniFile.WriteString(cProjectOptions, 'UnitOutputDir', UnitOutputDir);
   
     // various make options
     SaveList(MakeOptions, 'MakeOptionsCount', cINIMakeOption);
  
positive.code:   MainUnit := FIniFile.ReadString(cProjectOptions, 'MainUnit', '');
    TargetFile := FIniFile.ReadString(cProjectOptions, 'TargetFile', '');
    DefaultMake := FIniFile.ReadInteger(cProjectOptions, 'DefaultMake', 0);
  
    // Load make options
    LoadList(MakeOptions, 'MakeOptionsCount', 'MakeOption');
    sl := TStringList.Create;
    try
      LoadList(sl, 'MakeOptionsCount', 'MakeOptionEnabled');
      SetLength(FMakeOptionsGrid, 6, MakeOptions.Count);    // 6 columns by X rows
      for j := 0 to sl.Count-1 do
      begin
  
negative.code:     sl.Free;
    end;
  
    // Load Unit file list
    sl := TStringList.Create;
    try
      LoadList(cUnits, sl, 'UnitCount', 'Unit');
      for j := 0 to sl.Count-1 do
      begin
        u := TUnit.Create;
        u.FileName := tiToken(sl[j], ',', 1);
        u.Opened := Boolean(StrToInt(tiToken(sl[j], ',', 2)));
        UnitList.Add(u);
      end;
    finally
      sl.Free;
    end;
  
    Result := True;
  end;
  