#post-id: 3028-21-47
#original-date: 9.11.2008 Sun
#original-time: 9:47 PM
#original-day: 3028
#original-host: Win98SE
Забавный глюк в программе встретила. Так как Skin dat drive тут ошибок не выдавала, я и не знала ни чего, не замечала почему-то, а когда взялась за Skin dat folder, она и вылезла. Итак, вот код:
Тоесть, GetAttr() получает атрибуты папки, добавляет к ним Read-only и устанавливает. Код вызывал ошибку, она прилетала из SetAttr(). Я даже сделала вот так:
Тоесть я убила атрибут Directory. Но ошибка не исчезала! Я былась головой, грешила на SUBST диск, а потом попробовала вот так:
Ошибки не было... И тут я сообразила. Действительно, ATTR_DIRECTORY в SetAttr() использовать нельзя, но оно не убивалось во втором фрагменте по той простой причине, что почему-то применялось, не ко всему выражению, а к ATTR_READONLY. В итоге лишний флаг всё равно уходил в функцию. В итоге решила проблему вот так:
Я знаю, что это первый класс, но такие мелочи часто портят немало крови, особенно когда торопят. Меня не торопили, поэтому билась головой о буку я только минут пять-десять (с учётом перезагрузки)...