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

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

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
а это значит гетластеррор


Наверх

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