1443       Конференция C SoobCha           письмо # 1444 1445  


Тема: _bstr_t В CString !!!
Дата: Fri, 13 Jun 2008 13:42:57 +0300
Кому: Конфа по C/C++ <C@soobcha.org>
X-Mailer: The Bat! (v3.60.07) Professional
Content-Type: text/plain; charset=koi8-r
От Кого: Лагоша В. Г. <Lagosha@amk.lg.ua>

     Да прибудет свет, газ и вода в доме Вашем, достопочтенный АLL !

Подскажите, как можно преобразовать _bstr_t в CString ??

Кусочек кода:
-------------------
1) Из CString -> _bstr_t - получается:

CString strFileName ("2.xml"); // specify xml file name
_bstr_t bstrFileName;
bstrFileName = strFileName.AllocSysString(); // convert xml file name string to something COM can handle (BSTR)


В обратную сторону :
--------------------------
2)

CString q1, q2, q3;
BSTR w1, w2;

w1 = (BSTR)pChild->nodeName;
w2 = (BSTR)pChild->text;
        
q2.SetSysString(&w1);
q3.SetSysString(&w2);

При компиляции ошибок нет, но при исполнении вылетает или сразу или на 2 раз !




Если так -

    CString q1, q2, q3, q4;
    _bstr_t w1, w2, w3;

    w1 = pChild->nodeName;
    w2 = pChild->text;
        
    q2.SetSysString(&w1);
    q3.SetSysString(&w2);

то при компиляции ругается:
error C2664: 'SetSysString' : cannot convert parameter 1 from 'class _bstr_t *' to 'unsigned short ** '

Как же победить ? В чем отличие BSTR от _bstr_t ???
Как все таки засунуть в CString ?


--
С Уважением, Вадим г.Алчевск
mailto: lagosha <тяв-тяв> amk.lg <тчк> ua
ICQ: 222202857

Ориджин: -Ещё секудна и я убью тебя! -Секунда прошла ... и что? -Время лечит любые раны.


  1443 1445  
 
???Mail.ru ??? ?????
╘ 2000-2006 Сообщество Чайников