Трудности перевода проекта с С на Visual Studio 2005 С++

Тема в разделе "MS Visual C++", создана пользователем IPSergik, 29 апр 2008.

  1. IPSergik

    IPSergik Гость

    Появилась необходимость перевести проект с С на 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
     
  2. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Самое простое, что можно сделать. 1:
    Код (Text):
    strcpy(wc.lpszClassName, "Freel");
    2:
    Код (Text):
    if (!TranslateAccelerator(hwndDlg,hAccelTable, (HACCEL) &msg))
    3:
    Код (Text):
    hMenu = (HMENU) GetSubMenu(hMenu, 0);
     
  3. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    зачем советовать бред?!


    Код (Text):
    wc.lpszClassName = L"Freel"
    или
    Код (Text):
    wc.lpszClassName = _TEXT("Freel")
    вот только не помню в каком хидере объвлен этот макрос, вроде бы tchar
     
  4. SunSanych

    SunSanych Well-Known Member

    Регистрация:
    28 июн 2006
    Сообщения:
    71
    Симпатии:
    0
    Маленькое уточнение:
    В 2005-ой Visual Studio вместо _TEXT() нужно использовать макрос _T(x).
    _T(x) объявлен в tchar.h
     

Поделиться этой страницей