Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Киньте исходник проги на API на мэйл. http://www.cyberforum.ru/cpp-beginners/thread467744.html
Киньте исходник какой - нибудь проги на API под Windows... POPSA@MAIL.RU
C++ Курсор внутри текстового редактора на WindowsApi Я тут в качестве тренинга взялся текстовый редактор с подсветкой писать что бы ключевые слова выделял. Вьюер уже написал. А теперь мне нужен курсор. Я конечно могу рисовать его сам но хочется что бы он ещё и моргал а для этого таймер надо к нему подключать. Может можно как то системными функциями им управлять. !Никаких MFC только Win32! http://www.cyberforum.ru/cpp-beginners/thread467741.html
Дополнительный источник данных для провайдера OLE DB C++
Подскажите пожалуйста, как лучше организовать дополнительный источник данных в разрабатываемом поставщике данных OLE DB.
Подскажите как программировать на API?? C++
я не пойму одного....что, программировать на API - это значит писать программу от начала до конца программу?? П.С. я новичок и вопрос может казаться тупым и неграмотным, но подскажите плизз....
C++ Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx http://www.cyberforum.ru/cpp-beginners/thread467710.html
Есть код: #import 'imgscan.ocx' no_namespace .... { ... _DImgScanPtr pIScan = NULL; HRESULT hr = pIScan.CreateInstance(__uuidof(ImgScan)); pIScan->AboutBox();
C++ Какой проект открыть для работы с файлом или БД? Kakoi proect lychshe otkrut dlya rabotu s file i database. Nyshno chitat file a potom dannue sanosit v database. подробнее

Показать сообщение отдельно
Vita
Сообщений: n/a
04.06.2008, 19:36
Проще всего использовать обертки. Я использую CString и CComBSTR из atlbase.h. Можно использовать bstr_t или подобные. Нужно только понимать, что BSTR != LPTSTR и даже BSTR != LPOLESTR. зайди сюда http://www.rsdn.ru и поищи BSTR. Много узнаешь.

А BSTR всегда передаются через функцию BSTR SysAllocString(LPOLESTR sz)!

Тогда *q1 = SysAllocString(LSomeVar); естественно не сработает
как мне перевести LPTSTR в BSTR?
L и OLESTR - это макросы для констант.

штука типа *q1 = SysAllocString(L(SomeVar)); тож работать не будет
Вот BSTR в LPTSTR переводится при помощи USES CONVERSION W2A, а в обратную сторону как?
Наверное, A2W. Только не в BSTR, а LPOLESTR, точнее, LPWSTR.

Я бы так использовал:
C++
1
2
CComBSTR szBstr( SomeVar );
*q1 = szBstr.Detach();
или
C++
1
2
CComBSTR szBstr( 'Some string' );
*q1 = szBstr.Detach();
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru