Выпуск новостей ReactOS №46 | Participants
|
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
If you do not want to register an account, you can sign in with OpenID.
ReactOS Newsletter #46 | ||
Shellfolder Extensions | ||
All of the special folders such as control panel, printer folder, and administrative tools are actually shellfolder extensions that the Explorer shell implements using IShellFolder. Johannes Anderwald has been implementing those still missing in ReactOS as well as extending and fixing others. Two new ones are the Font folder and the Administrative Tools folder. Johannes also implemented the dialog for formating drives, but this obviously isn't functional. | Все специальные папки, такие как "Панель управления", "Принтеры" и "Администрирование", на самом деле являются папками расширения оболочки, которые Проводник реализует, используя интерфейс IShellFolder. Йоханнес Эндерволд (Johannes Anderwald) занимается реализацией отсутствующих в ReactOS расширений, а также работает над уже существующими. Два его новых расширения - папки "Шрифты" и "Администрирование". Также Йоханнес реализовал диалог форматирования дисков, который, конечно, ещё не несёт функциональности. | |
The Recycle Bin was also fixed with help from Hervé Poussineau, as previously several issues in Trash_CanTrashFile prevented files from being moved there. This effectively meant files were deleted directly if one confirmed a deletion request. This has now been fixed, along with restoring of files and deletion of individual items. The Printer folder also had some issues, including not showing up and randomly allocating memory. EnumPrinter has also been partially implemented, but since the printer subsystem itself is not ready a complete fix will need to wait. | Текущая реализация Корзины была исправлена Эрве Поссино (Hervé Poussineau). Проблема заключалась в неправильном поведении Trash_CanTrashFile: удалённые файлы не перемещались в Корзину. По сути, это означает, что файлы непосредственно удалялись с диска при подтверждении запроса на удаление. Сейчас это исправлено, так же как восстановление и удаление отдельных файлов из Корзины. Были также некоторые проблемы с папкой "Принтеры", в том числе - отсутствие контекстного меню и выделяемая случайным образом память, теперь же функция EnumPrinter частично реализована, но, пока не готова подсистема печати, полностью рабочей реализации придётся подождать. | |
There still remains a lot of work to do, including fixing up the context menus. Johannes' job is complicated by the fact that Microsoft did not properly implement all the context menu extensions, instead hardcoding some of them to prevent the user from deleting them. This is creating something of a mess as he tries to implement all of them in a standard fashion. His current solution is to rewrite the context menu handling and he is making good progress. | По-прежнему остаётся масса задач, включая исправление ошибки с контекстными меню. Работа Йоханнеса осложняется тем, что Microsoft не реализовывала должным образом все расширения меню, жёстко запрограммировав некоторые из них, для предотвращения их удаления пользователем. Таким образом, при правильной реализации этой функциональности создается некоторый беспорядок. Йоханнес принял решение переписать обработку контекстного меню и у него это получается. | |
Bugfixing | ||
One of the nastier bugs hidding in ReactOS code was the system crashing when worker threads were terminated. Worker threads are kernel mode threads that do something on behalf of device drivers. A general purpose pool of worker threads exists, maintained by the NT Executive, or drivers could create their group for specific needs. This issue was encountered by Cameron Gutman while he was testing ReactOS uptime. After several hours when the dynamic worker threads tried to terminate, the system crashed. | Одной из неприятных ошибок в ReactOS было крушение системы при прерывании рабочего потока. Рабочий поток - это поток режима ядра, который что-либо делает на стороне драйверов устройств. Существование универсального пула рабочих потоков, поддерживаемых супервизором NT, необходимо, чтобы драйверы могли создавать свои группы потоков для особых нужд. Эту ошибку обнаружил Камерон Гутман (Cameron Gutman) при длительном тестировании работы ReactOS. Проблема была в том, что после нескольких часов работы поток прерывался, что приводило к краху ОС. |

— "Проводник реализует, используя интерфейс...", существующий в отдельной библиотеке; сам Проводник не содержит в себе этих интерфейсов. — bz00mmer