F8 - deleting to recycle bin [NOT A BUG] Topic is solved

Здесь можно сообщить о найденных багах в Far.
Post Reply
Anonymous

F8 - deleting to recycle bin [NOT A BUG]

Post by Anonymous »

Hiya,

вот решил запостить описание проблемы со стиранием файлов в recycle bin. Не один раз замечал, что под WinXP (непонятно от чего это зависит) Far начинает тереть католог и повисает. После насильного закрытия Фара через Task Manager вся винда становится "раком", т.к. exporer.exe жрёт 100% CPU и taskbar/startmenu не перерисовываются. Выход один - ctrl-alt-del и restart.

Обычно это происходит с большими каталогами и достаточно полной recycle bin. Может дело в том, что размер recycle bin подходит к максимальному? Или дело в количестве файлов?

Кто-нить может подтвердить? Дело происходит на WinXP, Far beta5.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Вообще-то пора переходить на альфа 6 и тестить ее баги, а не то, что, возможно, уже давно исправлено в бета 5...
Anonymous

Post by Anonymous »

=Tim Sobolev= wrote:Вообще-то пора переходить на альфа 6 и тестить ее баги, а не то, что, возможно, уже давно исправлено в бета 5...
Перешёл уже, пока этого глюка не видно. Но, я думаю, в этой альфе такого фикса нету.....
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Post by zg »

s0larian wrote:Перешёл уже, пока этого глюка не видно.
глюк проявляется при очень полной корзине и большом количестве одновременно удаляемых файлов. и это не глюк, а фича :) просто процесс проходит очень долго и его таки можно дождаться :)
Anonymous

Post by Anonymous »

Всё таки это bug! Дождаться нельзя, и после убивания far процесса система гибнет.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

s0larian wrote:Всё таки это bug! Дождаться нельзя, и после убивания far процесса система гибнет.
Напиши мини-прогу, юзающую АПИ, для убиения в корзину и...
сам попробуй...
Если тормозов не будет, то будем рассматривать сей вариант. А до тех заниматься "латанием" дыр ОС... надоело.
Anonymous

Post by Anonymous »

Skirda wrote:Напиши мини-прогу, юзающую АПИ, для убиения в корзину и... сам попробуй... Если тормозов не будет, то будем рассматривать сей вариант.
ОК, как там у вас файло трётся? Вроде не remove() ?
Skirda wrote:А до тех заниматься "латанием" дыр ОС... надоело.
IMHO, если галочка "Delete to recycle bin" есть, то всё должно работать по-человечески, и неважно где, кто и что исправляет. Ну а иначе убирайте поломанную feature. А то детский сад - иногда это подглючивает, но это на наша беда а windows-а.

З.Ы. на крайняк, самый левый work around может выглядеть как сообщение, что "recycle bin is f#cking full. Empty it, and then retry".
З.З.Ы. а то у меня каждые несколько дней far ставит весь комп раком, и у меня вырабатывается рефлекс чистить корзину перед нажатием F8. Маразм.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

s0larian wrote:
Skirda wrote:Напиши мини-прогу, юзающую АПИ, для убиения в корзину и... сам попробуй... Если тормозов не будет, то будем рассматривать сей вариант.
ОК, как там у вас файло трётся? Вроде не remove() ?
Если это прикол, то смайлика не вижу.
s0larian wrote:
Skirda wrote:А до тех заниматься "латанием" дыр ОС... надоело.
IMHO, если галочка "Delete to recycle bin" есть, то всё должно работать по-человечески, и неважно где, кто и что исправляет. Ну а иначе убирайте поломанную feature. А то детский сад - иногда это подглючивает, но это на наша беда а windows-а.

З.Ы. на крайняк, самый левый work around может выглядеть как сообщение, что "recycle bin is f#cking full. Empty it, and then retry".
З.З.Ы. а то у меня каждые несколько дней far ставит весь комп раком, и у меня вырабатывается рефлекс чистить корзину перед нажатием F8. Маразм.
Блин, ну откуда же вы все такие "умные" беретесь. Я же недаром написал - "пиши тестовую прогу". А это значит, что написав такую прогу, ты сам поймешь, что ФАР тут совсем не при делах.
Anonymous

Post by Anonymous »

Skirda wrote:
s0larian wrote:ОК, как там у вас файло трётся? Вроде не remove() ?
Если это прикол, то смайлика не вижу.
Это просто вопрос - как там у вас файло трётся? В смысле простое стирание можно сделать рекурсивно через remove() или DeleteFile(), а как у вас реализовано стирание в recycle bin?
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Используется стандартная функция SHFileOperation:

Code: Select all

SHFILEOPSTRUCT fop;

fop.wFunc=FO_DELETE;
fop.pFrom=FullName;
fop.fFlags=FOF_NOCONFIRMATION|FOF_SILENT;
if (Opt.DeleteToRecycleBin)
  fop.fFlags|=FOF_ALLOWUNDO;
DWORD RetCode=SHFileOperation(&fop);
Post Reply

Return to “Глюки и баги”