Re: То ли лыжи не едут... ;)
От: Владик Россия  
Дата: 20.10.03 08:13
Оценка: 40 (2)
Здравствуйте, Владик, Вы писали:

В>Чего-то тут я вообще ничего не понимаю. Вот такой тривиальный код не работает:


Я x@#ю дорогая редакция... Вот код из ATL в борландовской поставке (BCB5/6). Баг выделен жирным:


inline BSTR A2WBSTR(LPCSTR lp, int nLen = -1)
{
    USES_CONVERSION;
    BSTR str = NULL;
    int nConvertedLen = MultiByteToWideChar(_acp, 0, lp,
        nLen, NULL, NULL)-1;

  if (nLen==-1)
     nConvertedLen = nConvertedLen -1;
    str = ::SysAllocStringLen(NULL, nConvertedLen);
    if (str != NULL)
    {
        MultiByteToWideChar(_acp, 0, lp, -1,
            str, nConvertedLen);
    }
    return str;
}


А вот код из ATL от VC6:

inline BSTR A2WBSTR(LPCSTR lp, int nLen = -1)
{
    USES_CONVERSION;
    BSTR str = NULL;
    int nConvertedLen = MultiByteToWideChar(_acp, 0, lp,
        nLen, NULL, NULL)-1;
    str = ::SysAllocStringLen(NULL, nConvertedLen);
    if (str != NULL)
    {
        MultiByteToWideChar(_acp, 0, lp, -1,
            str, nConvertedLen);
    }
    return str;
}


Ну и как это называется???
Как все запущенно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.