Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Трудности перевода проекта с С на Visual Studio 2005 С++
IPSergik
Вставить ник
сообщение 29:04:2008, 10:57
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 1
Регистрация: 29:04:2008
Пользователь №: 16 956



Репутация: - 0 +


Появилась необходимость перевести проект с С на Visual Studio 2005 С++...
Появились непонятные ошибки. Если что - не судите строго за возможную простоту их решения (давно уже это было... вот сейчас восстанавливаю забытые знания да и с Visual Studio 2005 не знаком).

Ошибки:
wc.lpszClassName = "Freel"; - error C2440: '=' : cannot convert from 'const char [9]' to 'LPCWSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

if (!TranslateAccelerator(hwndDlg,hAccelTable,&msg)) - cannot convert parameter 2 from 'HANDLE' to 'HACCEL'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast

hMenu = GetSubMenu (hMenu, 0) ; - cannot convert parameter 1 from 'HWND' to 'HMENU'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 3)
shisik
Вставить ник
сообщение 29:04:2008, 11:02
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 137
Регистрация: 26:08:2007
Из: Харьков
Пользователь №: 12 480
Специализация: С/C++



Репутация: - 2 +


Самое простое, что можно сделать. 1:
Код
strcpy(wc.lpszClassName, "Freel");

2:
Код
if (!TranslateAccelerator(hwndDlg,hAccelTable, (HACCEL) &msg))

3:
Код
hMenu = (HMENU) GetSubMenu(hMenu, 0);
Подняться вверх 
 
Сообщение #2
Kmet
Вставить ник
сообщение 29:04:2008, 11:37
Цитата Ответить 


Мегагуру
****

Группа: Достойный программист
Сообщений: 538
Регистрация: 24:05:2006
Пользователь №: 4 397
Специализация: C\C++ Java SAP



Репутация: - 4 +


Цитата(shisik @ 29:04:2008 - 13:02) *
Самое простое, что можно сделать. 1:
Код
strcpy(wc.lpszClassName, "Freel");

зачем советовать бред?!


Код
wc.lpszClassName = L"Freel"

или
Код
wc.lpszClassName = _TEXT("Freel")

вот только не помню в каком хидере объвлен этот макрос, вроде бы tchar
Подняться вверх 
 
Сообщение #3
SunSanych
Вставить ник
сообщение 30:04:2008, 07:02
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 62
Регистрация: 28:06:2006
Пользователь №: 5 086
Специализация: программист С++



Репутация: - 2 +


Маленькое уточнение:
В 2005-ой Visual Studio вместо _TEXT() нужно использовать макрос _T(x).
_T(x) объявлен в tchar.h
Подняться вверх 
 
Сообщение #4


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 6:07:2008 - 17:19
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net