-
Под Delphi 6 эта маленькая часть кода работает:
GetDir(0,dir); dir:=dir+'\Отчеты'; if not FileExists(dir) then MkDir(dir); SaveDialog1.InitialDir:=dir;
А под Delphi XE6 выдаёт ошибку: I/O error 183.
Определил при пошаговой отработке, что if not FileExists(dir) почему-то всегда True. Подскажите в чем может быть проблема.
-
for i := 0 to 10 do begin GetDir(i,s); Memo1.Lines.Add(Format('%d %s %s %s',[i,s, VarToStr(DirectoryExists(s)), VarToStr(FileExists(s))])); end;
-
rrrrr ©
Спасибо. Понял, что использовал не ту функцию, но не понял, почему работало в Delphi 6?
-
потому что реализация fileexists разная
-
rrrrr ©
Спасибо.
-
> rrrrr © (23.03.17 16:49) [3] > > потому что реализация fileexists разная
Просто из любопытства. Чем разная? ХЕ5 пробовал в ознакомительных целях только раз и не долго.
-
> if not FileExists(dir) then > MkDir(dir); а почему проверяются файлы, а создается директория? проверку бы поменять на DirectoryExists.
-
> Alex_777 (23.03.17 16:44) [2]
> Понял, что использовал не ту функцию
Подобные функции бесполезны, а порой и вредны.
-- Regards, LVT.
|