Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Почему в XE2 BSTR не доступен как out параметр? |
Автор: Чучмек 24.10.2018, 21:51 |
Delphi XE2, столкнулся с тем, что при описании методов COM сервера не могу задавать out-параметрам тип BSTR через редактор (в выпадающем списке отсутствует тип BSTR*) В Delphi7 с этим, на сколько я помню, проблем не было. Подправил в ручную Type Library (ProjectN.ridl - добавил * к BSTR, ProjectN_TLB - в описании интерфейса заменил const на out ) - Работает. Вопрос - Это глюк XE2 или решили отказаться от поддержки WideString? |
Автор: Romikgy 24.10.2018, 22:50 | ||
у них обычный string стал юникодным... |
Автор: Чучмек 25.10.2018, 13:21 |
Ну это понятно. Вопрос о поддержке типа BSTR microsoft-ом в технологии COM. (Стандарт для строк в COM). Сейчас специально посмотрел в D7 - тот же список типов, что и в XE2. BSTR есть, а BSTR* нет, хотя редактор позволяет звёздочку дописать в ручную. Непонятно... Я что-то видать недопонимаю. Если в списке нет, значит не рекомендуется, значит по стандарту возврат строк из COM должен идти через Variant (OleVariant). Другого объяснения придумать не могу. |