`BSTR` означает" Базовая строка ". Это символьный массив с префиксом размера, фиксированной длины, с завершающим нулем и кодировкой UTF-16, широко используемый в технологиях Microsoft COM и OLE для маршалинга строк, особенно между языками.
1 ответ

Методы MSXML занимают в памяти свои параметры BSTR?

Методы MSXML занимают в памяти свои параметры BSTR? Например: load, getElementsByTagName, или же selectSingleNode Я спрашиваю это, потому что я видел коды, которые просто вызывают CString "s AllocSysString() и передать его в методы MSXML без вызова…
22 янв '13 в 10:20
1 ответ

64-битный поставщик ACE OLEDB вызывает нарушение доступа в SysFreeString

Мое приложение использует файлы MS Access MDB из-за устаревших причин. Он подключается к базе данных с помощью ADO со следующей строкой подключения: Provider = Microsoft.Jet.OLEDB.4.0; Persist Security Info = False; Источник данных =Dummy.mdb Недавн…
15 июл '15 в 17:18
1 ответ

BSTR, как сделать самостоятельно?

Мне нужно связать приложение Linux с сервером, который использует данные BSTR. Могу ли я "свернуть" свой собственный код, чтобы сделать bstr? Я знаю основы bstr, что у него есть заголовок с байтовым размером минус нулевой терминатор, и из-за заголов…
10 авг '10 в 17:55
3 ответа

Преобразование bstr_t в двойной

Как сделать преобразование bstr_t для удвоения в C++? Я думал преобразовать в *char, затем *char, чтобы удвоить?
15 июл '11 в 00:21
2 ответа

Должна ли быть разница между пустым BSTR и NULL BSTR?

При поддержании COM интерфейс должен быть пустым BSTR относиться так же, как NULL? Другими словами, должны ли эти два вызова функций давать одинаковый результат? // Empty BSTR CComBSTR empty(L""); // Or SysAllocString(L"") someObj->Foo(empty); //…
05 окт '08 в 07:45
2 ответа

Утечка C++ с кодом VARIANT / bstrVal

Проверка на утечку говорит мне, что у меня есть утечка памяти в памяти, которая выделена в следующем коде: // Get the value from the object as a variant. VARIANT vVal; VariantInit ( &vVal ); hres = clsObj->Get ( fieldName.c_str(), 0, &vVa…
09 янв '13 в 19:56
1 ответ

Оператор TYPE () и взятие адреса объекта

Класс ATL CComBSTR имеет BSTR член m_str и operator BSTR () который возвращается m_str, Теперь, если функция принимает BSTR * в качестве аргумента, можно ли передать адрес CComBSTR? CComBSTR path; // signature is IzFileFinder::GetDir(CY index, LPBST…
11 июл '13 в 16:00
2 ответа

Конвертация BSTR в CString для арабского текста

Мой проект VC++ (VS2008) использует многобайтовый набор символов. У меня есть следующий код для преобразования строки даты в COleDateTime _bstr_t bstr_tDate = bstrDate; //bstrDate is populated by a COM function const CString szStartDateTime = bstr_t…
23 май '12 в 07:03
5 ответов

Как эффективно скопировать BSTR в wchar_t[]?

У меня есть объект BSTR, который я хотел бы преобразовать для копирования в объект wchar__t. Хитрость в том, что длина объекта BSTR может составлять от нескольких килобайт до нескольких сотен килобайт. Есть ли эффективный способ копирования данных? …
16 сен '08 в 13:06
2 ответа

Qt ActiveX dynamicCall возвращаемое значение всегда пусто

Это продолжение предыдущего вопроса: Qt ActiveX Я пытаюсь использовать элемент управления ActiveX в моей программе. QAxWidget* mAX = new QAxWidget(); mAX->setControl("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"); Я знаю, что есть функция, подобная пр…
18 фев '13 в 21:28
2 ответа

Передать массив строк в COM-объект

Я дал с поиском типа данных, который будет соответствовать следующему методу: У меня есть метод объекта COM, который требует "вектор строк BSTR" (как сказано в документации COM). Он отлично работает с: а) Python (все работает с Python BTW) Visum.Net…
21 фев '13 в 11:00
5 ответов

Получение char* из _variant_t в оптимальное время

Вот код, который я хочу ускорить. Он получает значение из набора записей ADO и преобразует его в символ *. Но это медленно. Могу ли я пропустить создание _bstr_t? _variant_t var = pRs->Fields->GetItem(i)->GetValue(); if (V_VT(&var) == V…
22 сен '08 в 21:28
1 ответ

Передача строки BSTR в качестве периметра между управляемым и неуправляемым кодом (взаимодействие COM)

Работая над взаимодействием, я следовал руководству по этой ссылке. Код работает нормально, так как я сделал некоторые изменения в зависимости от моих требований, но проблема возникает при работе со строкой. Я использую здесь строку BSTR в качестве …
09 янв '19 в 10:13
2 ответа

Освобождение BSTR с помощью::SysFreeString(). Больше зависит от платформы?

Я пишу COM-сервер, который имеет множество интерфейсов и методов. И большинство методов имеют BSTR как параметры и как локальные параметры, используемые для возврата. Фрагмент выглядит как Обновление 5: Настоящий код. Это выбирает из набора данных н…
27 фев '12 в 14:49
1 ответ

Передача строк в / из Delphi COM Server

Я попробовал несколько вариантов кода ниже с возвратом HRESULT (который является предпочтительным стандартом COM) или с возвратом BSTR. Я пробовал и другие типы данных. Я обычно получаю сообщение об ошибке "отсутствует реализация метода интерфейса",…
01 фев '19 в 19:37
2 ответа

Язык для не-Unicode программ меняет чтение ini

У меня есть не-Unicode-приложение, которое использует Unicode-версии функций чтения ini, таких как GetPrivateProfileSectionW и GetPrivateProfileStringW. Программа работает хорошо, когда "Язык для не-Unicode программ" установлен на английский. Когда …
16 май '11 в 16:23
1 ответ

Почему BSTR и как конвертировать его в QString?

Я работаю с Microsoft Kinect SDK, где функции возвращают BSTR. Мне нужно получить QString или std::string. Вот что я попробовал: BSTR bstr = s->NuiUniqueId(); // QString qs((QChar*)bstr, SysStringLen(bstr)); std::wstring ws(bstr); ui->lblDetai…
05 ноя '12 в 00:24
3 ответа

Как отобразить значения из VARIANT с SAFEARRAY BSTR

Я работаю над библиотекой COM-объектов с функцией, которая возвращает VARIANT с SAFEARRAY из BSTRs. Как я могу отобразить значения из этого VARIANT экземпляр и сохранить его внутри TStringList? Я пытался искать в сети без четкого ответа. Я попробова…
19 дек '11 в 07:33
1 ответ

Случайные символы от преобразования строки Arduino в Excel BSTR через C++ DLL

Так что в некотором коде Arduino я Serial.print несколько номеров, как это (var1=##,var2=##,var3=##). У меня есть C++ DLL, которую я делаю, чтобы получить эту информацию и разобрать ее в массив вариантов, как это ("var1=",##.##,"var2=",##.##,"var3="…
04 авг '17 в 22:09
1 ответ

Использование COM-DLL с параметрами BSTR* -> ошибка Float Div By Zero

В настоящее время я разрабатываю собственное приложение среднего размера, которое должно включать некоторые функции, которые уже были включены в предыдущее приложение. Это было разработано в Visual Basic 6 много лет назад внешним поставщиком. К сожа…
19 ноя '16 в 08:44