pda писал(а):Опционально.
Нет! Как раз таки обязательно, так как не проверяя ты делаешь программу ненадежной и тормозной.
pda писал(а): И что интересно вы сделаете, если FileExists вернёт Flase?
Просто не запущу функцию распаковки и выброшу окошко "исходный файл не найден".
pda писал(а):Потому что это двойная проверка. Ведь WinAPI/libc её всё равно выполнит.
угу... выкинет исключение и закроет потом программу? Шикарно...
pda писал(а): И у вас 4-гигагерцовый многоядерный монстр, а не Pentium 100.
Это у ВАС 4-гигагерцовый проц. У меня этот комп, самый мощный, работает под Dual Core E5200 (2.5). И работает в достаточно жестком режиме.
pda писал(а):А какой у вас стаж?
Небольшой как программиста. Большой как аникея.
pda писал(а): Мне просто интересно, на сколько грабель вы наступили?
Почти на все вышеперечисленные. Причем, и как программист, и как аникей.
pda писал(а): Я сейчас пойду передам ядру системы чтобы никаких левых ошибок там не было.
Я подробно указал, что речь о процессах инициированных самой программой. Да и если используется глючное ядро, то это не проблемы программиста.
pda писал(а):Мы в многозадачной среде. Пока вы на 1000% убедились, что есть файл, есть права, есть свободное место, ожил соседний процесс и снёс ваш файл и съел всё свободное место. И что теперь?
Ну... прокладка между клавой и креслом не в нашей власти. Так что тут помогут только драйвера Head и GoldHands.
И, если уж на то пошло, файл надо открывать/создавать сразу после проверки.
pda писал(а): Если уж она открыла файл - значит открыла.
Наивность поражает -- я лично сносил запущенный вирус унлокером. Правда, при этом система ребутилась, но файл удалить успевала.