Камрады, помогите пожалуйста, совсем запутался во всех этих строковых преобразованиях.
Есть NET форма, из TextBox'а которой надо взять String и преобразовать его в BSTR для упаковки в структуру DISPPARAMS.
На MSDN форуме нашел 2 решения: include vcclr.h and use the PtrToStringChars (который возвращает __wchar_t __gc*), и Marshal.StringToHGlobalAnsi (который возвращает IntPtr).
Может ктото подскажет глупому, как всётаки преобразовать в BSTR или OLECHAR* (а заодно и в простой char*), и вообще, где почитать о преобразовании строковых типов? В тех книгах, что я нашел это не описано. В MSDN'e просто описание функций без методы...
[C++] более того...21.11.05 04:24 Автор: catlion <catlion> Статус: Member Отредактировано 21.11.05 04:41 Количество правок: 3
Функция StringToHGlobalAnsi() определена в namespace System::Runtime::InteropServices, если вставить
using namespace System::Runtime::InteropServices;
то компилятор ругается на определение структуры DISPPARAMS, пишет
error C2872: 'DISPPARAMS' : ambiguous symbol
could be 'c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\OAIdl.h(701) : tagDISPPARAMS DISPPARAMS'
or 'stdafx.cpp(0) : System::Runtime::InteropServices::DISPPARAMS'
[UPD]
С преобразованием разобрался вроде, работает