Как получить const BSTR ?
От: Keeper_andrew Беларусь  
Дата: 21.09.03 11:47
Оценка:
Есть функция которая в качестве параметра получает BSTR строку. Мне нужно передать константу. Строку типа "C:\TEMP\" но в BSTR. Как это лучше всего сделать?
... << RSDN@Home 1.1 beta 2 >>
Re: Как получить const BSTR ?
От: zelyony  
Дата: 21.09.03 18:55
Оценка:
#include <comdef.h>

void func( BSTR bstr) {
// ...
}

void main() {
func( _bstr_t(L"c:\\temp\\").GetBSTR());
}

#pragma comment( lib, "oleaut32.lib")
Posted via RSDN NNTP Server 1.7 beta
Re[2]: Как получить const BSTR ?
От: Keeper_andrew Беларусь  
Дата: 21.09.03 20:10
Оценка:
Здравствуйте, zelyony, Вы писали:

Z>#include <comdef.h>


Z>void func( BSTR bstr) {

Z>// ...
Z>}

Z>void main() {

Z>func( _bstr_t(L"c:\\temp\\").GetBSTR());
Z>}

Z>#pragma comment( lib, "oleaut32.lib")


Очень хороший вариант, но громоздко.

и

error LNK2019: unresolved external symbol "void __stdcall _com_issue_error(long)" (?_com_issue_error@@YGXJ@Z) referenced in function "public: __thiscall _bstr_t::_bstr_t(char const *)" (??0_bstr_t@@QAE@PBD@Z)
error LNK2019: unresolved external symbol "unsigned short * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPAGPBD@Z) referenced in function "public: __thiscall _bstr_t::Data_t::Data_t(char const *)" (??0Data_t@_bstr_t@@QAE@PBD@Z)
... << RSDN@Home 1.1 beta 2 >>
Re[3]: Как получить const BSTR ?
От: Denwer Россия  
Дата: 22.09.03 04:59
Оценка:
Здравствуйте, Keeper_andrew, Вы писали:

K_>Здравствуйте, zelyony, Вы писали:


Z>>#include <comdef.h>


Z>>void func( BSTR bstr) {

Z>>// ...
Z>>}

Z>>void main() {

Z>>func( _bstr_t(L"c:\\temp\\").GetBSTR());
Z>>}

Z>>#pragma comment( lib, "oleaut32.lib")


K_>Очень хороший вариант, но громоздко.


K_>и


K_>error LNK2019: unresolved external symbol "void __stdcall _com_issue_error(long)" (?_com_issue_error@@YGXJ@Z) referenced in function "public: __thiscall _bstr_t::_bstr_t(char const *)" (??0_bstr_t@@QAE@PBD@Z)

K_>error LNK2019: unresolved external symbol "unsigned short * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPAGPBD@Z) referenced in function "public: __thiscall _bstr_t::Data_t::Data_t(char const *)" (??0Data_t@_bstr_t@@QAE@PBD@Z

Тогда еще так можно


void main() {
func( CComBSTR(L"c:\\temp\\"));
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.