Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.151.214] |
|
Сообщ.
#1
,
|
|
|
Может мне кто-нибудь объяснить, почему я все время получаю код ошибки 0, хотя под дебагером эксепшн правильно говорит что 'The specified file already exists'
try TFile.Copy('c:\test\1.txt', 'c:\test2\1.txt');// файл уже существует except on E:EInOutError do ShowMessage(IntToStr(E.ErrorCode)); // но E.ErrorCode = 0 end; В справке вроде пишут, что надо включить {$I+} : In Delphi code, use the $I+ directive to enable I/O checking. , но это ничего не изменило. Как различать разные ошибки, происходящие при копировании? =/ |
Сообщ.
#2
,
|
|
|
Цитата shershen @ почему я все время получаю код ошибки 0, хотя под дебагером эксепшн правильно говорит что 'The specified file already exists' Ты и в рантайме получишь то же самое сообщение E.Message. А ErrorCode = 0, т.к. он просто не установлен, поскольку ошибка генерится в результате внутренней проверки параметров в TFile.CheckCopyParameters без установки значения ErrorCode (забыли, поленились или не посчитали нужным). |
Сообщ.
#3
,
|
|
|
Вот так, все надо делать самому... Ну и ладно, все равно отмену копирования надо прикручивать.
|