Все бывает в
первый раз.
Сегодня, впервые
с момента моего знакомства в WinRAR,
он меня удивил. Я эту замечательную
программу знаю только с хорошей стороны,
пользуюсь практически ежедневно, и вот,
на тебе.
Эта программа
отказалась создавать архив, мотивируя
тем, что, цитирую «не хватает памяти».
Впервые с момента нашего знакомства
WinRAR стал очевидно дурковать — у компа
10 гигов оперативы и более 50 гигов
свободного места на диске. Ни и разумеется,
это случилось тогда, когда промедление
смерти подобно, как и бывает в таких
случаях. Не только удивил, но и очень,
очень он меня огорчил.
Сейчас трудно
сказать, по какой извилине пошла моя
мысль, но с третьей попытки архив мы (с
WinRAR-ом) таки создали. И у меня есть теория,
которая обьясняет недостойное поведение
этой замечательной программы. Мне лень
искать подтверждение этой теории, можете
сами проверить или запросить ответа у
автора WinRAR-а.
Теория такая.
Те два раза, что WinRAR жаловался на
недостаток памяти, я вызывал функцию
создания архива через контекстное меню
WinExplorer. А тот раз, когда он отработал как
положено, функция была вызвана через
тулбар родной WinRAR-ской оболочки. Что
приводит меня к следующей мысли — памяти
не хватало WinExplorer-у, поскольку обработчики
контекстного меню обычно реализованы
как DLL-ки, работающие в адресном
пространстве оболочки. Это, кстати, одна
из основных причин падений этой оболочки
и, как следствие, недовольства
пользователей. И недовольны они обычно
виндой а не кривыми поделками, лепящими
свои обработчики в контекстные меню
WinExplorer. Отвлекся, простите.
Так вот, при
создании архива с помощью полноценной
программы — WinRAR.exe никаких особых
ограничений быть не должно — памяти
бери сколько есть в свопе. Что я и наблюдал
— памяти хватило всем и еще осталось.
Да, чуть не
забыл, необычно большой расход памяти
был вызван невероятным (для рядового
пользователя) количеством пакуемых
файлов — их были миллионы. Правда, очень
мелких.
Мораль:
остерегайтесь поручать серьезную работу
обработчикам контекстных меню. Вызывайте
обрабатывающий процесс через командную
строку, это самое надежное. Да и самое
удобное, если работа повторяется.
Комментариев нет:
Отправить комментарий