категории | RSS

Устранение ошибок Carbide.ui Theme Edition 3.1.1 – 3.4, связ

Эта статья предназначена в основном для новичков в темостроении, но с данной проблемой рано или поздно сталкивается практически любой темостроитель, работающий в карбиде. Суть проблемы заключается в дублировании сторонними иконками (прописанными пользователем) уже существующих. То есть, если Вы при упаковке темы увидели диалоговое окно Error in packaging process (как на скрине), то велика вероятность того, что в перечне сторонних иконок прописана такая, которая уже есть в карбиде. При большом объеме сторонних иконок быстрая локализация ошибки может стать проблемой.
Лечится все это очень просто (для новичков буду расписывать подробно):
1. Не закрываем окно с ошибкой (чтобы карбид не удалил временные файлы);
2. В первом же абзаце текста находим путь к файлу themepackage.txt (как правило это - Carbide.ui/Workspace/Папка темы/). В этом файле карбид собирает описание всех элементов, которые будут упакованы в сис-файл.
3. Переходим в самый конец текстовой части диалога ошибки и видим там такой текст:

Aborted, ERRORS ENCOUNTERED!

=====================================================================

An exception occurred (when parsing line 706):
Error in skin content
Item already defined

Здесь есть две ключевые строки. Первая – Item already defined (элемент уже определен) - говорит о том, что причина ошибки именно повторяющийся элемент в теме. Вторая – An exception occurred (when parsing line 706) (Произошло исключение (при анализе строки 706)) – указывает на номер строки в файле themepackage.txt, где описан элемент, вызывающий ошибку.
4. Далее, открываем файл themepackage.txt (см. п. 2) любым простым текстовым редактором (или вьювером), который показывает нумерацию строк, начиная со стандартного блокнота (у кого нет нумерации в блокноте, включаем через меню Вид -> Строка состояния, появится внизу справа). Находим строку под номером, который мы получили в п. 3. Видим одно из двух. Такое:

704: APPICON UID=0x10201AFD
705: c16 tsicon_3signals$30396586940239.svg SOFTMASK
706: END

Или такое:

706: BITMAP IID=FUtilit79 c16 futilities2$13037498031174.svg SOFTMASK STRETCH

В первом случае мы видим иконку приложения и ее уид (UID) «0x10201AFD», во втором – папку и ее внутреннее имя (ID) «FUtilit79».
5. Далее необходимо удалить лишнюю иконку.
В первом случае (с иконкой приложения) все просто – идем в меню карбида Window -> Preferences -> Carbide.ui -> Third Party Icons, находим в одном из перечней (Tool Specific Icons или Theme Specific Icons) найденный в п. 4 уид, удаляем соответствующую запись.
Во втором случае – включаем поиск (меню Window -> Show View -> Search) и вводим в строку поиска внутреннее имя папки (ID) (при этом учитываем, что карбид сокращает в именах элементов ненужные, как ему кажется, символы, типа подчеркивания, пробелы и т.д. Т. е., FUtilit79 может оказаться и F_Utilit79, и F Utilit_79).
В результате поиска получаем таблицу, в которой находим нужный элемент по ID и узнаем его имя (Name) – (например F_Util 79).
Узнав имя папки, идем в меню Window -> Preferences -> Carbide.ui -> Third Party Icons, находим иконку по имени и удаляем.
6. Не обязательно, но желательно перезапустить карбид.

ЗЫ. Даже если ошибка карбида не связана с повторяющимися иконками, то с помощью данного метода можно найти элемент, который вызывает ошибку. Далее уже можно что-то придумать (как минимум очистить найденный элемент), и, если не решить проблему, то хотя бы упаковать тему без этого элемента.

ЗЗЫ. Учитывая некоторую нестабильность карбида временами (Ява все-таки), ошибки могут появляться по абсолютно другим причинам, не связанным с ошибками элементов, либо же не содержать логов.

ЗЗЗЫ. Ну и, как положено говорить в таких случаях, – я не несу ответственности за любые негативные последствия принесенные использованием материалов этой статьи. Вы все делаете на свой страх и риск. Все вроде бы…
В приложении - данная статья в формате PDF со скринами

Прикрепленный файл #1: article_by_2exa_in_27102009120112_articles.zip (161.13 кб)

2exa
2009-10-27T15:35:03Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 1

#1   Werbecher    

Замечательная статья! Вчера этот урок мне ой как пригодился. Раньше считала автора статьи волшебником, теперь понимаю, что он настоящий волшебник! Спасибо тебе ОГРОМНЕЙШЕЕ!!! Всегда помогаешь и выручаешь *)


0 ответить

Яндекс.Метрика