Author Topic: Visual Studio 8  (Read 3608 times)

0 Members and 1 Guest are viewing this topic.

Offline arido

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Visual Studio 8
« on: May 17, 2007, 17:10:56 »
Здравствуйте.
Проблема такая
Была рабочая программа, написаная в BC 5.5. Написана с использование API-функций.
Решила попробовать MC VS 8.Создала проект, перекинула модули. После компиляции вышла ошибка:
Code: [Select]
error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'char *' to 'LPCWSTR'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

Вот вызов этой функции:
Code: [Select]
/*создание окна*/
 WPass = CreateWindowW(szWinName[0],     //имя класса
        Name,             //заголовок
        WS_POPUP|WS_DLGFRAME|      //стиль окна
        WS_CAPTION|WS_SYSMENU,
        left,                      //координата х - позволить Windows выбрать
        top,                       //координата у - позволить Windows выбрать
        width,                     //ширина - позволить Windows выбрать
        height,                    //высота - позволить Windows выбрать
        HWND_DESKTOP,              //нет родительского окна
        NULL,                      //нет меню
        hThisInst,                 //работа с данным экземпляром программы
        NULL                       //дополнительные аргументы отсутствуют
        );

Описание переменных:
Code: [Select]
char *szWinName[] =    /*имя класса окна*/
    {
      "WinPass",
      "WinGeneral"
     };
char Name[30] = "Наименование предприятия";

Если сделать так (добавить (LPCTSTR) )
Code: [Select]
/*создание окна*/
 WPass = CreateWindowW((LPCTSTR)szWinName[0],     //имя класса
        (LPCTSTR)Name,             //заголовок
        WS_POPUP|WS_DLGFRAME|      //стиль окна
        WS_CAPTION|WS_SYSMENU,
        left,                      //координата х - позволить Windows выбрать
        top,                       //координата у - позволить Windows выбрать
        width,                     //ширина - позволить Windows выбрать
        height,                    //высота - позволить Windows выбрать
        HWND_DESKTOP,              //нет родительского окна
        NULL,                      //нет меню
        hThisInst,                 //работа с данным экземпляром программы
        NULL                       //дополнительные аргументы отсутствуют
        );
Ошибок нет, но окно появляется без заголовка.
В чем моя ошибка, подскажите, плз!

Offline mars

  • Sr. Member
  • ****
  • Posts: 302
  • Karma: +0/-0
Visual Studio 8
« Reply #1 on: May 18, 2007, 12:20:52 »
попробуйте заменить
Code: [Select]
char Name[30] = "Наименование предприятия";на
Code: [Select]
TCHAR Name[] = TEXT ("Наименование предприятия");

Offline arido

  • Newbie
  • *
  • Posts: 33
  • Karma: +0/-0
Visual Studio 8
« Reply #2 on: May 18, 2007, 17:44:48 »
ОГРОМНОЕ СПАСИБО!
Все получилось.

Offline mars

  • Sr. Member
  • ****
  • Posts: 302
  • Karma: +0/-0
Visual Studio 8
« Reply #3 on: May 19, 2007, 02:52:25 »
собственно, это была цитата из документации