anchor.diff:      Free;
     end;
     {$ENDIF}
  +  {$IFDEF DARWIN}
  +  with TProcess.Create(nil) do
  +  try
  +    Executable := 'open';
  +    Parameters.Add(aFilename);
  +    Execute;
  +  finally
  +    result := true;
  +    Free;
  +  end;
  +  {$ENDIF}
  +
   end;
   
   function exeInSysPath(anExeName: string): boolean;
  
positive.code: var
    proc: TProcess;
    lst: TStringList;
    stripChars: TSysCharSet;
    lstText: AnsiString;
  begin
    Result := 0;
    stripChars := ['"'];
    proc := tprocess.Create(nil);
    proc.Executable := 'pgrep';
    proc.Parameters.Add(ExeName);
  
negative.code:     lst := TStringList.Create;
      try
        lst.LoadFromStream(proc.Output);
        Result := StrToInt(Trim(lst.Text));
      finally
        lst.Free;
      end;
  