Я пишу мультиплатформенное приложение, используя Delphi 10.2 Tokyo Firemonkey. Одна из вещей, которые мне нужно проверить, это наличие Dropbox на компьютере. Для этого мне нужно проверить наличие файла info.json, а затем обработать этот файл json, чтобы получить путь к папке Dropbox.
Я написал эту функцию для проверки наличия Dropbox:
class function TUtilityMac.DropboxExists: Boolean;
var
infojsonpath: String;
begin
Result:=false;
infojsonpath:='~/.dropbox/info.json';
if not FileExists (infojsonpath, True) then
exit;
Result:=true;
end;
Но когда я запускаю это на Mac (с установленным Dropbox), функция FileExists
возвращает false
(независимо от того, является ли второй параметр True
или False
). Если я открою окно терминала и сделаю cd ~/.dropbox
, а затем dir
, я увижу там файл info.json.
Любые мысли о том, что мне не хватает? Был бы признателен за любые указания по этому поводу...
DropboxExists := FileExists('~/.dropbox/info.json', True)
- person Free Consulting   schedule 18.04.2017FileExists()
, сможете ли вы загрузить файл по тому же пути? Если да, то просто забудьтеFileExists()
и всегда безоговорочно загружайте файл и обрабатывайте любые ошибки загрузки по мере необходимости. - person Remy Lebeau   schedule 18.04.2017EFileNotFoundException
, когда попытался загрузить файл. Но файл существует. Есть идеи, что может происходить? - person Rohit   schedule 19.04.2017