Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Внизstring -> BSTR Найти похожие ветки
← →
volph (2002-07-13 21:36) [0]на C++ написал COM-объект, есть у меня там некий метод
STDMETHODIMP CComponent::getData(BSTR path, BSTR* result)
как в делфи передать параметр из string в виде BSTR ???
← →
Макс Черных (2002-07-13 22:51) [1]function StringToOleStr(const Source: string): PWideChar;
BSTR есть то же самое что и PWideChar
← →
volph (2002-07-13 23:41) [2]Все наврено хорошо бы было, если бы оно не ругалось на передачу такого параметра
[Error] datas.pas(154): Type not allowed in Variant Dispatch call
← →
Юрий Зотов (2002-07-14 01:56) [3]Дык... а что же все-таки написано в строке 154 модуля datas?
А то очень трудно читать на расстоянии...
← →
awaken (2002-07-14 02:08) [4]у меня тоже глюки с этим делом при передаче строк.
есть COM-объект на C++, принимающий и возвращающий BSTR
при возврате в программу на Delphi передается мусор.
убрал dispinterface в C++, оставил vtable-интерфейс
после этого заработало. почему в первом случае не работало - загадка
← →
volph (2002-07-14 09:32) [5]А вот что в 54-й строке написано:
RichEdit1.Text := OBJ.getData(StringToOleStr(path));
причем если я пишу:
RichEdit1.Text := OBJ.getData("data");
то все пашет на ура
← →
kig (2002-07-14 13:35) [6]А так катит?
RichEdit1.Text := OBJ.getData(WideString(path));
← →
volph (2002-07-14 15:27) [7]Гы! Катит!!!!!!
← →
kig (2002-07-15 11:04) [8]Взгляните раздел MSDN
Platform SDK: Automation
String Manipulation Functions
Все вопросы отпадут и увидите, чем отличаются BSTR от POLECHAR, хотя на данные они указывают одинаково
(typedef OLECHAR * BSTR)
← →
Дмитрий Баранов (2002-07-15 11:36) [9]Кусок кода на IDL приведите, пожалуйста.
← →
kig (2002-07-15 11:51) [10]Да из этого
STDMETHODIMP CComponent::getData(BSTR path, BSTR* result)
и вызова
getData(BSTR path, BSTR* result) - т.е. не PROPGET
процентов на 97%
idl выглядит так
HRESULT getData([in] BSTR path, [out, retval] BSTR* result)
а импорт в Д
function getData(const path: WideString): WideString; safecall;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c