Как же получить код ошибки последней дисковой операци

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как же получить код ошибки последней дисковой операци

Сообщение Troublemaker » 25.10.2008 10:03:16

Вызываю CreateDir(чего-нибудь).
Код: Выделить всё
function CreateDir(
  const NewDir: String
):Boolean;
Она возвращает только "угу" или "ни фига", без каких-либо объяснений. А как же узнать, почему именно "ни фига"? ErrorCode всегда равен нулю, а мне надо объяснить пользователю, почему он не может сохранить файл под таким-то именем...
Последний раз редактировалось Troublemaker 25.10.2008 11:27:51, всего редактировалось 1 раз.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток

Re: Как же получить код ошибки последней дисковой опера

Сообщение SAK » 25.10.2008 11:23:50

CreateDir сама сбрасывает признак ошибки, поэтому узнать причину уже невозможно.
Надо использовать MkDir
Код: Выделить всё
{$I-}
MkDir('g:\xxx');
{$I+}
ShowMessage(IntToStr(IoResult));
SAK
постоялец
 
Сообщения: 158
Зарегистрирован: 18.02.2006 00:45:14
Откуда: Тим

Re: Как же получить код ошибки последней дисковой опера

Сообщение Troublemaker » 26.10.2008 05:39:18

Спасибо, помогло.
Аватара пользователя
Troublemaker
постоялец
 
Сообщения: 292
Зарегистрирован: 16.04.2008 13:00:44
Откуда: Биробиджан, Дальний Восток


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 60

Рейтинг@Mail.ru