![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CreateDir. Анализ ошибки [D7, XP]
oleg1963lora © (2009-12-04 15:19:00)Здравствуйте уважаемые Мастера!
Создаю каталог On:=CreateDir('D:\Tutorial') {On:Boolean}
Работает.
То же On:=CreateDir('D:\Tutorial\MyDir') {On:Boolean} - нет
Подскажите пожалуйста как с помощью try - except получить внятное описание ошибки. Или я ДОС забыл? 8-О
oleg1963lora (2009-12-07 09:18:00) [1]Здравствуйте уважаемые Мастера!
Наконец нашел нашел нужную мне процедуру ForceDirectories(Path:String), которая создает целую ветку директорий.
В моем случае ForceDirectories('D:\Tutorial\CopyDB\01-09-09\PlanOtd');
Пять вызовов - и у меня в руке - целый веник! :-)))
Спасибо всем за помощь!
Anatoly Podgoretsky (2009-12-04 16:18:00) [2]> oleg1963lora (04.12.2009 15:59:06) [6]
Для исключений используй вышеприведеные советы или процедуру MkDir
clickmaker (2009-12-04 16:03:00) [3]> Что я делаю неправильно?
Win32Check(CreateDir
CreateDir - функция. она возвращает тру или фолс, а не райзит экцепшенов
oleg1963lora (2009-12-04 15:59:00) [4]Черт сним с ОН-ом.Просто привычка старого програмера (поработай с Паскаль 3.1, там не такое возможно). Я использую локальную переменную.
На самом деле так:
try
On:=CreateDir(PathTargetDir);
except Exception.Create('Ошибка');
{иначе ошибка }
showmessage('Не удалось Err: ' +E.Message);
end;
После try выполняется
On:=CreateDir(PathTargetDir); {False}
и улетает транзитом мимо except.
Что я делаю неправильно?
MBo (2009-12-04 15:42:00) [5]на всякий случай - идентификатор 'on' - зарезервированное слово, не стоит так переменную называть
Медвежонок Пятачок (2009-12-04 15:36:00) [6]а зачем?
oleg1963lora (2009-12-04 15:34:00) [7]Формат строки соответствует ДОСу
RWolf (2009-12-04 15:25:00) [8]
RaiseLastOSError;
а при чём здесь дос? :/
Медвежонок Пятачок (2009-12-04 15:22:00) [9]CreateDir это CreateDirectory
а это значит гетластеррор