Выпуск новостей ReactOS № 88

z98, “ReactOS Newsletter №88”, public translation into Russian from English More about this translation.

Translate into another language.

Participants

evilslon 1179 points
dsp2003 222 points
Timurrrr 3 points
And others...
Join Translated.by to translate! If you already have a Translated.by account, please sign in.
If you do not want to register an account, you can sign in with OpenID.
Pages: ← previous Ctrl next
1 2 3

ReactOS Newsletter №88

Выпуск новостей ReactOS № 88

History of edits (Latest: evilslon 5 years, 11 months ago) §

— Всем спасибо за помощь, перевод размещен на сайте проекта: http://www.reactos.org/ru/newsletter_...  evilslon

dsp2003, не закрывай этот перевод ещё недельку пожалуйста, вдруг кто-то ещё что-нибудь поправить захочет :) evilslon

Newsletter 88

Выпуск новостей №88

History of edits (Latest: dsp2003 5 years, 11 months ago) §

Shell32

Shell32

History of edits (Latest: evilslon 5 years, 11 months ago) §

Another recent accomplishment by Claudiu Mihail, the Google Summer of Code responsible for transforming the lwIP library into a driver, was the completion and remerging of the shell32 library as C++ code instead of C code. The effort was started originally by Ged Murphy and Andrew Hill as C++ was better suited to implementing the COM aspects of the library. Ged had originally tried to do the conversion in trunk, but that proved too disruptive and he moved the code into a branch. Claudiu picked it up after finishing his GSoC project and cleaned up the code. Conversion of C code to C++ often results in some oversights like not assigning default values to class members in a constructor or updates to class members not being properly done. One of the bigger issues that needed fixing was control applets not starting up. The issue arose after Claudiu fixed the command line parser to pass Wine tests. The parser was correctly truncating the names of applets to their short form, such as "Add Hardware" to "Add," but an issue deeper in the shell code was not able to find the control applets using the truncated names. While this problem was fixed, other issues in ATL are preventing proper registration of shell extensions. Giannis Adamopoulos has also looked into the registration issues but so far have not been able to resolve it. Johannes Anderwald has also chipped in and stated that ATL may be the inappropriate mechanism to use for registering shell extensions. In the meantime Amine Khaldi has reverted the registration code to use the old Wine style registration mechanism, which while architecturally incorrect at least somewhat works.

Ещё одним достижением Клаудиу Михаила (Claudiu Mihail), который в рамках недавнего Google Summer of Code преобразовал библиотеку IwIP в драйвер, стало окончание работ по переписыванию библиотеки shell32 с языка C на C++ и интеграция полученного программного кода в транк. Работы по преобразованию были начаты Гедом Мёрфи (Ged Murphy) и Эндрю Хиллом (Andrew Hill), и цель их проведения состояла в том, что C++ наилучшим образом подходит для реализации различных аспектов механизма COM в этой библиотеке. Сначала Гед попытался сконвертировать код непосредственно в транке, однако оказалось, что в этом случае поддерживать целостность кода в транке весьма сложно, и Гед переместил свои наработки в отдельную ветвь. Клаудиу, после завершения своего проекта GSoC, продолжил его работу и доработал код. Перевод кода с C на C++ нередко выявляет ошибки в коде, такие например, как не заданные значения по умолчанию для элементов класса в конструкторе или некорректно выполненные обновления элементов класса. Одной из самых больших проблем, требовавших исправления, являлось то, что апплеты Панели управления не запускались. Эта проблема возникла после того, как Клаудиу внёс исправления в парсер командной строки для обеспечения прохождения тестов Wine. Парсер корректно уменьшал названия апплетов до их короткой формы, например с "Add Hardware" до "Add", однако из-за проблемы глубже в коде библиотеки, система не могла найти апплеты Панели управления по их коротким именам. Когда эта проблема была устранена, оказалось, что из-за других ошибок в библиотеке ATL невозможна правильная регистрация расширений в оболочке. Яннис Адамопулос (Giannis Adamopoulos) тоже обращал внимание на проблемы с регистрацией, но так и не смог решить их. Кроме того, Йоханнес Андервальд (Johannes Anderwald) также тщетно пытался справиться с этой проблемой, и выразил мнение, что ATL является неподходящим механизмом для регистрации расширений оболочки. Тем временем Амин Хальди (Amine Khaldi) сделал откат изменений в коде регистрации, что позволило использовать старый механизм регистрации, взятый из Wine и являющийся хоть и архитектурно неправильным, но, по крайней мере, хоть немного работоспособным.

History of edits (Latest: evilslon 5 years, 11 months ago) §

As shell32 was never a major priority for Wine, its coverage by Wine's testsuite is not that extensive. That said, ReactOS still fails a significant number of the existing Wine shell32 tests. Claudiu is working on rectifying that and adding new tests to increase the coverage. With some cooperation from Victor Martinez, he has already added more tests for the command line parser, with tests for other areas hopefully on the way.

Поскольку корректная реализация shell32 никогда не являлась приоритетной задачей для Wine, то и тесты в наборе winetests для проверки этого компонента далеки от совершенства. Именно поэтому ReactOS не удаётся пройти значительную часть тестов для библиотеки shell32 из Wine. Клаудиу работает над этим и уже добавил несколько новых тестов для проверки большего количества функций библиотеки. Совместно с Виктором Мартинесом (Victor Martinez) было добавлено несколько тестов для проверки парсера командной строки, а тесты для других составных частей библиотеки, надеемся, скоро также появятся.

History of edits (Latest: evilslon 5 years, 11 months ago) §
Pages: ← previous Ctrl next
1 2 3