• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
146 гостей, 1 пользователь

avatar_Teodorrrro

Stardock SkinStudio 8.0.0.1

Автор Teodorrrro, 13 января 2014, 15:35:00

« предыдущая - следующая »

TeodorrrroАвтор темы

Тема создана 13 января 2014, 15:35:00 Последнее редактирование: 31 июля 2018, 13:09:54 от WYLEK
Для работы SkinStudio 8 необходима WindowBlinds 8.
Сайт: Войдите на сайт для перехода по ссылке
На боковых панелях программы не удалось убрать кракозябры, за текст в них отвечают Sections.ini и SubSections.ini (причём в главном окне надписи из этого файла отображаются нормально). В файлах менял кодировки - не помогло.

Скриншот:


За материалами - в личку.

Leserg

Ответ #1 : 13 января 2014, 16:35:00 #1
Да там, как по мне, "темный лес с бабами ягами"! Насколько мне со своей колокольни удалось выяснить, намудрили с преобразованием кодировок ANSI->UTF8. Короче к каждому символу строки прибавляется нулевой байт. Для нижней половины таблицы ASCII (0-127) - нет проблем, а тех символов, что выше (127-255), получается бред. Возможно я ошибаюсь, т.к. еще неуверенно себя чувствую в поиске и устранению проблем с кодировками.
Кто ищет, тот всегда найдет!

Nexus

Ответ #2 : 13 января 2014, 17:35:00 #2 Последнее редактирование: 31 июля 2018, 13:11:04 от WYLEK
teodorrrro, отдаю файл, в котром решена проблема только с боковыми панелями слева, то есть, там, где считываются строки с различных INI файлов. К сожалению, я не могу решить ТЕХНИЧЕСКИ проблему со строками, которые располагаются справа и выделены синим цветом. Дело в том, что они переводятся в Юникод(а потом и в крякозябли) на системном уровне в нулевом кольце, куда отладчику доступ запрещен, только через WinHex можно наблюдать как портятся строки в памяти. Поэтому нету никакой возможности как либо повлиять на перекодировку этих строк. Даже через редактор ресурсов(Ресторатор) нельзя поменять этим строкам никакие свойства. Есть, конечно, теоретическая возможность поменять громаднейший фрагмент кода программы, чтобы правильно формировалось окно с этими стоками, но это уже будет мазохизм, а не решение проблем с крякозяблями

Показать / Скрыть текст

Leserg, просто добавил в конец файла небольшой фрагмент кода-перекодировщика:

PUSH EAX
PUSH EDX
PUSH ECX
ADD EAX,EAX
ADD EAX,6
PUSH EAX
PUSH EDX
PUSH -1
PUSH EDI
PUSH 0
PUSH 4E3
CALL DWORD PTR DS:[<KERNEL32.MultiByteToWideChar>]
POP ECX
POP EDX
POP EAX
JMP 004681D4

На скрине это будет выглядеть так:
Показать / Скрыть текст
[свернуть]

Чтобы эта процедура была задействована нужно поменять это:
Показать / Скрыть текст
[свернуть]

на это:
Показать / Скрыть текст
[свернуть]

Leserg

Ответ #3 : 13 января 2014, 18:35:00 #3
Nexus, спасибо! Будет теперь чем заняться на досуге. Я так понимаю, что эту функцию можно использовать везде, где встречаются проблемные места с кодировками. Единственный момент, так это правильно определить место внедрения.
Кто ищет, тот всегда найдет!

TeodorrrroАвтор темы

Ответ #4 : 13 января 2014, 19:35:00 #4 Последнее редактирование: 31 июля 2018, 13:11:47 от WYLEK
Благодарю за проделанное исследование!

Цитата: Nexusнельзя поменять этим строкам никакие свойства

Кстати, в Радиаликсе при смене ANSI_CHARSET на RUSSIAN_CHARSET для элементов окна с этими злополучными элементами ничего не происходит.
Показать / Скрыть текст
[свернуть]

Nexus

Ответ #5 : 13 января 2014, 20:35:00 #5
Блин, вот это я облажался! Две недели смотрел не в ту сторону программы, поэтому и не мог найти причину. Теперь вот нашел место возникновения крякозябли и за 5 минут исправил. Сколько времени потрачено впустую...
 Вот английский пропатченый файл:

Войдите на сайт для перехода по ссылке

 Надеюсь, что на этом вопрос возможно будет закрыт

* Ваши права на сайте

    TinyPortal

  • Вы не можете создавать статьи.
  • Вы не можете изменять свои статьи.
  • Вы не можете писать комментарии.
  • Вы не можете управлять статьями.
  • Вы не можете загружать файлы в TPdownloads.
  • Вы не можете управлять TPlistimages.

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

 аталог@MAIL.RU - каталог ресурсов интернет Яндекс.Метрика