Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 09:27   #1
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию Unicode совместимое приложение.

Где находятся настройка которая воспринимает исходный код проекта как Unicode.
когда создавался проект (в наследство досталось) была снята галочка использовать Unicode как вернуть?
Спасибо.
Visual Studio 2008 Visual C++
MFC Application.
nusik вне форума Ответить с цитированием
Старый 15.06.2009, 09:59   #2
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Вроде поставил галочку в юникод, но ессено возникли ошибки при конвертировании

e:\verticaltree - c++\customverticaltree.cpp(75) : warning C4101: 'pFont' : unreferenced local variable
e:\verticaltree - c++\customverticaltree.cpp(205) : error C2664: 'CVerticalTree::DrawItemText' : cannot convert parameter 3 from 'CString' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
e:\verticaltree - c++\customverticaltree.cpp(241) : error C2664: 'CVerticalTree::DrawItemText' : cannot convert parameter 3 from 'CString' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
VerticalTreeDlg.cpp
e:\verticaltree - c++\verticaltreedlg.cpp(130) : warning C4566: character represented by universal-character-name '\u018F' cannot be represented in the current code page (1251)
e:\verticaltree - c++\verticaltreedlg.cpp(130) : error C2440: '=' : cannot convert from 'const char [3]' to 'LPWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
e:\verticaltree - c++\verticaltreedlg.cpp(159) : error C2440: '=' : cannot convert from 'char [256]' to 'LPWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
nusik вне форума Ответить с цитированием
Старый 15.06.2009, 11:47   #3
Pashan
Пользователь
 
Регистрация: 18.03.2009
Сообщений: 89
По умолчанию

Там есть два типа символов - однобайтовые обычные char (НЕ юникодные), а также двухбайтовые wchar_t (юникодные).
Если в проекте используется юникод, все строки CStirng начинают работать на юникодных wchar_t и, соответственно, возвращать указатель не char*, а wchar_t*.
Так что в своих функциях надо использовать тоже указатель на соответствующий тип. Чтобы не париться о том, какое у тебя приложение - юникодное или нет, где-то в заголовочных файлах студии определен специальный тип TCHAR. В не юникодных приложениях он соответствует обычному char, в юникодных - wchar_t. Так что если везде использовать его, вопрос о переключении юникода/не юникода отпадает. Только надо быть аккуратным.
Pashan вне форума Ответить с цитированием
Старый 15.06.2009, 12:53   #4
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Спасибо, разобрался.
nusik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Unicode Pedro Общие вопросы Delphi 8 13.03.2009 10:50
Unicode в Listboxe ЯИмя Microsoft Office Excel 9 23.02.2009 16:17
Unicode в Delphi Fedorovich БД в Delphi 2 31.10.2008 21:34
Unicode и Delphi BOBAH13 Общие вопросы Delphi 3 27.09.2008 13:08
Unicode }{UTPUU Общие вопросы Delphi 4 02.04.2007 15:21