WString & XP

Раздел посвящен программированию с использованием Power Basic.
Lapex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 25.02.2008 (Пн) 14:01

WString & XP

Сообщение Lapex » 18.04.2012 (Ср) 10:21

Всем привет!
Как всегда нужна помощь специалистов.

В своей dll, я использую функцию OleGetErrorInfo (WinApi от Josй Roca), которая возвращает описание ошибки, как WString.
Моя функция должна вернуть результат, как String (Ansi).

В Win7: Русское описание ошибки - читабельное
В WinXP: Русское описание ошибки - НЕ читабельное !!!

Код: Выделить всё
#Option AnsiApi

...

Static sErrorInfo As String

Try
    ...
Catch
    sErrorInfo = OleGetErrorInfo(ObjResult)
    Function = sErrorInfo
End Try


Как мне в WinXP получить читабельное описание ошибки? Неужели придется использовать WideCharToMultiByte?

Kroos
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 21.02.2012 (Вт) 16:57

Re: WString & XP

Сообщение Kroos » 18.04.2012 (Ср) 11:42

я сталкивался с подобной фигней, когда нужно было перенаправить и прочитать в проге вывод чужой консоли, некоторые api функции возвращали в 7 нормальную кириллицу, а в xp кракозябры. Вопрос решался с помощью ф-ций конвертирования строки (которые иногда теперь наоборот, в 7 давали кракозябры в итоге...), в общем что-то здесь в хр и 7 замутили с кодировками, тоже хотелось бы знать в чем может быть дело...

Lapex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 25.02.2008 (Пн) 14:01

Re: WString & XP

Сообщение Lapex » 19.04.2012 (Чт) 0:31

Вот так выглядит описание ошибки:

Win7
Изображение

WinXP
Изображение

Есть идеи, как побороть кодировку под WinXP?

Добавлено:
Моя dll отправляет e-mail с помощью CDO - возможно в нем проблема!?

Добавлено:
Бороздя просторы интернета, было найдено следующее:
Предположительно, в состав Windows XP SP3 входит cdosys.dll с некорректным отображением русских символов.
Пробовал менять ее на cdosys.dll от XP SP2 - явных проблем не было и сообщения нормализовались.

После замены cdosys.dll - у меня тоже нормализовалось, но не знаю на сколько безопасна замена cdosys.dll.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: WString & XP

Сообщение ger_kar » 19.04.2012 (Чт) 15:41

Lapex писал(а):После замены cdosys.dll - у меня тоже нормализовалось, но не знаю на сколько безопасна замена cdosys.dll.
А более новой версии, чем версия в SP3 нет? Ведь с момента выхода SP3 прошла уйма времени, вышла куча исправлений, может в каком либо из них эта проблема была исправлена. Пробовал поискать в этом направлении? Попробуй, может и найдется нужное обновление, попытаться в любом случае нужно.
Бороться и искать, найти и перепрятать

Lapex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 64
Зарегистрирован: 25.02.2008 (Пн) 14:01

Re: WString & XP

Сообщение Lapex » 19.04.2012 (Чт) 16:23

Пробовал поискать в этом направлении?

В первую очередь..., но безрезультатно.


Вернуться в Power Basic

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList