Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

File access denied and MkDir [D5, D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


IMHO ©   (2007-02-06 13:42:00) 

Не могу понять, почему MkDir иногда дает File access denied?
Права на папку полные.


RASkov   (2007-02-09 04:41:00) [1]

> [15] tesseract ©   (08.02.07 13:08)

Я просто твой пост не правильно понял, мне показалось, что ты в своем посте

> А почему вы проверяете только существование директории?
> Если существует файл с таким же именем, то директория тоже
> создана не будет.

заменил на

Она не будет создана, если её имя зарезирвировано под Дос имена. COm lpt и тд.

Сорри.:)


tesseract   (2007-02-08 13:08:00) [2]


> Это как это? Если у меня в каталоге \Dir есть файл с именем
> '123' без расширения, и в этом каталоге создать папку с
> именем '123'


Она тоже не будет создана . Это написано в [12].


RASkov   (2007-02-07 18:22:00) [3]

> [13] tesseract ©   (07.02.07 18:13)

Это как это? Если у меня в каталоге \Dir есть файл с именем '123' без расширения, и в этом каталоге создать папку с именем '123'


tesseract   (2007-02-07 18:13:00) [4]


> А почему вы проверяете только существование директории?
> Если существует файл с таким же именем, то директория тоже
> создана не будет.


Она не будет создана, если её имя зарезирвировано под Дос имена. COm lpt и тд.


palva   (2007-02-07 15:09:00) [5]

А почему вы проверяете только существование директории? Если существует файл с таким же именем, то директория тоже создана не будет.


evvcom   (2007-02-07 10:32:00) [6]

> [9] IMHO ©   (06.02.07 20:19)

Достаточно одного ForceDirectories, он сам проверит и создаст если нет, причем всю ветвь дерева.


clickmaker   (2007-02-07 10:22:00) [7]


> [9] IMHO ©   (06.02.07 20:19)

ПРоверить существование папки можно и без всяких оберток, на АПИ

if (GetFileAttributes(PathToDir) = $FFFFFFFF) and (GetLastError() = ERROR_PATH_NOT_FOUND) then
 CreateDirectory(PathToDir)


IMHO   (2007-02-06 20:19:00) [8]

попробовать с ForceDirectories и DirectoryExists?


Elen   (2007-02-06 15:28:00) [9]


> думаешь, лучше использовать DirectoryExists?

Ну меня DirectoryExists еще не подводила.


clickmaker   (2007-02-06 15:22:00) [10]


> [6] IMHO ©   (06.02.07 14:57)

лучше то, что работает правильно. Сравни исходники функций


IMHO   (2007-02-06 14:57:00) [11]

это функция из RxLib

думаешь, лучше использовать DirectoryExists?


Elen   (2007-02-06 14:47:00) [12]


> IMHO ©   (06.02.07 13:46) [1]
>
> Полный код:
>
>  if not DirExists(MyDir) then

Что такое DirExists? я знаю DirectoryExists()


IMHO   (2007-02-06 14:42:00) [13]


> Elen ©   (06.02.07 13:58) [2]
>
>
> > Права на папку полные.
>
> А может MyDir при ошибке содержит какие нибудь недопустимые
> символы для папок?


нет, с этим все в порядке, ручаюсь


tesseract   (2007-02-06 14:01:00) [14]

а ForceDirectories, что выдаёт?


Elen   (2007-02-06 13:58:00) [15]


> Права на папку полные.

А может MyDir при ошибке содержит какие нибудь недопустимые символы для папок?


IMHO   (2007-02-06 13:46:00) [16]

Полный код:

 if not DirExists(MyDir) then
    MkDir(MyDir); // здесь ошибка EInOutError - File access denied


Наверх

Титульная страница Поиск, карта сайта Написать письмо