C/Visual C - Componentes COM: AfxMessageBox

 
Vista:

Componentes COM: AfxMessageBox

Publicado por Gorka (1 intervención) el 23/08/2002 12:09:29
Buenas!
Estoy intentando sacar un mensaje en mi PDA usando AfxMessageBox con el resultado de parsear la respuesta de una Web Sevice.
Tengo este código

[...]
hr = penv->Parse ( CComVariant(t), CComBSTR(L"") ) ;

CComPtr<ISOAPNodes> p ;
// get the parameters collection again, to get the response parameters
penv->get_Parameters(&p) ;
CComPtr<ISOAPNode> retNode ;

// get the first node in the parameters collection
p->get_Item(0, &retNode) ;

// get the nodes value
CComVariant v ;
retNode->get_Value(&v) ;

// change its type to a string
v.ChangeType(VT_BSTR) ;

AfxMessageBox((LPCTSTR)v.bstrVal) ;
[...]

El problema es que me saca el messageBox, pero en lugar de salir el resultado que yo espero, me saca caracteres extraños, estilo cuadrados , acentoscircunflejos, letras sueltas...

Me pasaba lo mismo al ejecutar esto:

AfxMessageBox((LPCTSTR)"Hello!");

y lo solucioné añadiendo una L antes del texto:

AfxMessageBox((LPCTSTR)L"Hello!");

Alguien sabe por qué pasa esto. Puede ser que no esté parseando bien la respuesta. La web service me da el resultado esperado, pero no se si se recoge bien.
Soy bastante novatillo en esto de componentes COM y en C++, asi que si alguien me puede echar una mano. Gracias a todos!.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder