![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с кодировками. Написал плагин к 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