Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Операторы вывода в ActiveX. 
V
    Опции темы
torero
Дата 20.10.2009, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



        Хочу попробовать сделать элемент ActiveX.  Есть пример разработки ATL->ActiveX  .  Даются исходные тексты. Проект называется Dice. Списал, запустил на трансляцию. 
  В классе CATLDice в методах  .cpp есть два оператора: 1. :: MessageBox( NULL, "Failed to load bitmaps", NULL, MB_OK); и 2.  OutputDebugString("Got to the LoadBitmaps functions\n");
  Оба оператора дают ошибку :  MessageBoxW " Невозможно преобразовать параметр 2 из char[22] в const unsigned short* " и
                                                     OutputDebugStringW "Невозможно преобразовать параметр 1 из char[34] в const unsigned short*  ".
  W - говорит о том, что это Unicod. Но у меня 6-я студия, по умолчанию должен быть ANSI. А в установках Project->Settings стоит Win32 Unicod Release Min Dependency и заменить на что-то
   другое не получается. Как тут сделать, чтобы работали опрераторы ?  И вообще, почему транслятор требует, чтобы текстовая строка была  const unsigned short* .
  Это связано с ATL ?
PM MAIL   Вверх
jonie
Дата 20.10.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Цитата

А в установках Project->Settings стоит Win32 Unicod Release Min Dependency и заменить на что-то
   другое не получается.
ищите Set Active Configuration меню.
Цитата

Как тут сделать, чтобы работали опрераторы ? 
использовать ANSI, а не Unicode (плохой совет) или перевести все на Unicode (более правильно).
Цитата

И вообще, почему транслятор требует, чтобы текстовая строка была  const unsigned short* .
потому что в VC6 не было встроенного майкрософтовского (?) типа wchar_t (2-ух байтового), а взамен как переходное решение макрос TCHAR был оформлен как unsigned short.

Можно использовать Unicode строки в таком режиме:
Код

L"Я юникод строка (ucs-2 кодировка)"



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
torero
Дата 21.10.2009, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   jonie, большое спасибо, получилось.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.