C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
BSTR, передать в Variant
Лена
Отправлено: 16.10.2006, 14:50


Мастер участка

Группа: Участник
Сообщений: 501



Как правильно инициализировать тип BSTR в коде ниже:
CODE

Variant par1;
BSTR newpar1 = WideString(Edit1->Text); //наверное так не правильно?
Variant varS;
varS.vt = VT_BSTR;
varS.bstrVal = newpar1;
par1 = varS;

TAutoArgs<1> args;
            args[1] = par1;
Form1->OleContainer1->OleObject.OleFunction(NFunck,static_cast<TAutoArgsBase*>(&args)); //ошибка


Есть пример на VC++, но не знаю как точно переделать:
CODE

//Create a BSTR and assign it to a Variant
BSTR x = SysAllocString(L"Hello");
VARIANT myVariant;
myVariant.vt = VT_BSTR;
myVariant.bstrVal = x;
SysFreeString(x);
Лена
Отправлено: 17.10.2006, 17:10


Мастер участка

Группа: Участник
Сообщений: 501



Получилось:
CODE

BSTR x = SysAllocString(WideString(Edit1->Text).c_bstr());
           Variant varS;
           varS.vt = VT_BSTR;
           varS.bstrVal = x;
           par1 = varS;
           SysFreeString(x);

yahoo.gif

Вернуться в Вопросы программирования в C++Builder