anchor.diff:    end;
   
     if txt <> '' then
  -    Memo1.Lines.Append(aPath + sLineBreak + txt)
  -  else
  +  begin
  +    Memo1.Lines.Append(aPath + sLineBreak + txt);
  +    Result := False;
  +  end else
       if aReportGood then
         Memo1.Lines.Append(aPath + ' - No errors :)');
   end;
  
positive.code: end;
  
  
  procedure TForm1.btnValidateAllClick(Sender: TObject);
  var
    I: Integer;
  begin
    EnableFormComponents(False);
  
    Memo1.Lines.Clear;
  
    Memo1.Lines.Append('Check ' + ExtractFilePath(ParamStr(0)));
    // Exe path
    TKMapsCollection.GetAllMapPaths(ExtractFilePath(ParamStr(0)), fListFileInFolder);
    if fListFileInFolder.Count = 0 then
      Memo1.Lines.Append('No files in a directory :(')
    else
    begin
      Memo1.Lines.Append('Files in the folder: '+IntToStr(fListFileInFolder.Count));
      for I := 0 to fListFileInFolder.Count - 1 do
        Validate(ChangeFileExt(fListFileInFolder[I], '.' + EXT_FILE_SCRIPT), False);
  
      Memo1.Lines.Append('Checked ' + IntToStr(fListFileInFolder.Count) + ' in .\');
    end;
    // Utils path
    Memo1.Lines.Append('Check ' + ExpandFileName(ExtractFilePath(ParamStr(0)) + '..\..\'));
    TKMapsCollection.GetAllMapPaths(ExpandFileName(ExtractFilePath(ParamStr(0)) + '..\..\'), fListFileInFolder);
    if fListFileInFolder.Count = 0 then
      Memo1.Lines.Append('No files in a directory :(')
    else
    begin
      Memo1.Lines.Append('Files in the folder: '+IntToStr(fListFileInFolder.Count));
      for I := 0 to fListFileInFolder.Count - 1 do
        Validate(ChangeFileExt(fListFileInFolder[I], '.' + EXT_FILE_SCRIPT), False);
  
      Memo1.Lines.Append('Checked ' + IntToStr(fListFileInFolder.Count));
    end;
    EnableFormComponents(True);
  end;
  
  procedure TForm1.Validate(aPath: string; aReportGood: Boolean);
  var
    CampaignFile: UnicodeString;
    txt:          string;
  begin
    if not FileExists(aPath) and aReportGood then
    begin
      Memo1.Lines.Append('File not found ' + aPath);
  
negative.code:     fIsValidatePath : TKMFileOrFolder;
      fListFileInFolder : TStringList;
  
      procedure ValidateFileList; overload;
      procedure ValidateDir(aDir: String); overload;
      procedure FindFiles(aPath: String; out aList: TStringList);
      function Validate(aPath: string; aReportGood: Boolean): Boolean;
      procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
      procedure EnableFormComponents(aEnabled : Boolean);
    end;
  