![]() |
|
|
![]()
|
|
| lv151 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
_CommandPtr pCmdChange
_bstr_t pbstr; pbstr = pCmdChange->GetCommandText(); char *str; wcstombs((CHAR*)&str,(OLECHAR*)&pbstr,sizeof(str)); В str абра-кадабра Это сообщение отредактировал(а) lv151 - 1.6.2009, 17:19 |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
объясняю что вы сделали: 1) первым аргументом вы передали указатель на указатель, притом что последний никто не инициализировал. 2) sizeof(str) на x86 "стандартно" будет 4 байта. 3) str, даже если вы его будете передавать, ничем не инициализирован. Он должен указывать на массив. 4)непонятно зачем написано это: (OLECHAR*)&pbstr, т.к. у _bstr_t есть operator WCHAR* перегрузка ... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Andrey44 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 2 Всего: 26 |
Это точно. Но что-бы вы не заморачивались сделайте так
-------------------- ????? ??, ??????? ?????. |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
только нельзя забывать что:
ConvertBSTRToString allocates a string you must delete. т.е. вызывать SysFreeString() нужно для возрата не забывать, а то течи будут -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| lv151 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
||||
|
||||
| Andrey44 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 2 Всего: 26 |
Да-да, все верно. Забыл упомянуть Добавлено через 4 минуты и 45 секунд
Куда он указывает? -------------------- ????? ??, ??????? ?????. |
||||
|
|||||
| lv151 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 916 Регистрация: 11.2.2008 Репутация: нет Всего: 2 |
||||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 2 Всего: 26 |
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |