Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с кодировками. Написал плагин к Outlook но сабж...


Sergey Masloff ©   (2006-05-09 10:08:00) 

Проявляется когда версии Win и Office не совпадают. Понятно что Unicode кодируется и раскодируется по-разному а как победить?

Симптомы:
Написал com-dll. Внедрил свою кнопку в панель инструментов. По нажатию обрабатываю в библиотеке выделенные Item-ы в активном Explorer-е. При совпадении языка win и офиса все работет как задумано во всех сочетаниях для офисов >=2000 (ну как и должно быть). Если Win англ. а офис русский - строки нечитаемые.
 Может кто уже побеждал проблему?


Anatoly Podgoretsky   (2006-05-09 10:44:00) [1]

Sergey Masloff   (09.05.06 10:40) [6]
Есть немного, надо знать как работает связка string, widestring, точнее преобразование Ansi в Юникод и обратно.


Sergey Masloff   (2006-05-09 10:40:00) [2]

Anatoly Podgoretsky ©   (09.05.06 10:26) [4]
Анатолий, спасибо это не то слово. SetThreadLocale решило проблему
А я тормоз :(


Sergey Masloff   (2006-05-09 10:34:00) [3]

Anatoly Podgoretsky ©   (09.05.06 10:26) [4]
Ага сейчас попробую. Давно не занимался квалификацию потерял...

Кстати сейчас сделал тестовые примеры на VB и С++ в Visual Studio 6
(правда пример обратный - просто в Outlook сорздаю всякие элементы типа встреч - все работает без доп. преобразований. В Delphi не работает - в Outlook русские строки некорректно отображаюися)


Anatoly Podgoretsky   (2006-05-09 10:26:00) [4]

Sergey Masloff   (09.05.06 10:15) [2]
Ну раз знаешь, то понимаешь, что когда делаешь S := WS и WS := S, то преобразования делаются с учетом страницы кодового потока. Можно для кодового потока попробовать установить SetThreadLocale


TUser   (2006-05-09 10:20:00) [5]

Можно попробовать использовать библиотеку TntUnicodeControls. Она лежит на torry, если не ошибаюсь в поставку D2005 также входит.


Sergey Masloff   (2006-05-09 10:15:00) [6]

Это я знаю. Сейчас попробую на си аналог сделать


Anatoly Podgoretsky   (2006-05-09 10:12:00) [7]

Наверно в Дельфи, так Дельфи Юникод почти не поддерживает, только чуть чуть и то не для VCL


Наверх

Титульная страница Поиск, карта сайта Написать письмо