powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какой извращенец писал MessageBoxW?
25 сообщений из 196, страница 1 из 8
Какой извращенец писал MessageBoxW?
    #39475479
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в качестве параметра поставил число вместо строки?
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475485
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
WINUSERAPI int WINAPI MessageBoxW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT 
uType);


В каком месте вместо числа ты ожидаешь строку?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475500
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это какая версия?

Я пишу в Embedded C++ для WinCE

Получаю такую ошибку
автор
MessageBoxW( s2, L"SD", MB_OK);

error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char *' to 'const unsigned short *'
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475504
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю речь о hWnd (хэндле окна в котором вывести), которого нет в MessageBox() других ЯП.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475510
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbЭто какая версия?
Это WinAPI, оно всегда такое было. Добавь первым параметром хэндл окна своей проги в котором вывести или NULL чтобы отдельным окном.

Код: plaintext
1.
MessageBoxW(NULL, s2, L"SD", MB_OK);
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475513
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbЯ пишу в Embedded C++ для WinCE

Получаю такую ошибку

У функции 4 параметра. Ты забыл указать первый из них.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475518
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovSergey_rbЯ пишу в Embedded C++ для WinCE

Получаю такую ошибку

У функции 4 параметра. Ты забыл указать первый из них.


Это другая функция

авторMessageBoxW(NULL, s2, L"SD", MB_OK);



Выдает ошибку

авторerror C2660: 'MessageBoxW' : function does not take 4 parameters
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475522
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475525
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T MessageBox (Windows CE 5.0)

Там тоже описана функция с 4 параметрами.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475529
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbЭто другая функция

Тогда читай документацию к её параметрам. Это HWND и две строки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475533
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbВыдает ошибку

авторerror C2660: 'MessageBoxW' : function does not take 4 parameters
Странно. С WinCE никогда не сталкивался, а в обычных виндовсах буква W на конце обозначает что используются юникодные строки.

Возможно в WinCE это по другому и там нет MessageBoxW, а твой MessageBoxW какая-то самодельная функция. Поищи у себя в исходниках.

По хорошему не надо явно W писать, а задать в свойствах проекта использование юникода и вызывать
Код: plaintext
1.
MessageBox(NULL, s2, L"SD", MB_OK);
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475536
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovSergey_rbЭто другая функция

Тогда читай документацию к её параметрам. Это HWND и две строки.


Это две строки и набор кнопок

Вот так работает

авторTCHAR tt[] = _T("TEST");
MessageBoxW(tt, L"Внимание!", MB_OK);



Как в сообщение вывести переменную типа int или char?
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475542
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TSergey_rbВыдает ошибку

пропущено...

Странно. С WinCE никогда не сталкивался, а в обычных виндовсах буква W на конце обозначает что используются юникодные строки.

Возможно в WinCE это по другому и там нет MessageBoxW, а твой MessageBoxW какая-то самодельная функция. Поищи у себя в исходниках.

По хорошему не надо явно W писать, а задать в свойствах проекта использование юникода и вызывать
Код: plaintext
1.
MessageBox(NULL, s2, L"SD", MB_OK);



MessageBox выбирает из 2 вариантов - MessageBoxA или MessageBoxW.

В моем случае используется юникодная версия функции.
Но в обоих случаях у функции 3 параметра.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475547
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbКак в сообщение вывести переменную типа int или char?
Преобразовать в строку, затем строку вывести.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475548
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как функция описана в заголовочном файле WinCE SDK, так и вызывай. В чем проблема?
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475549
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TSergey_rbКак в сообщение вывести переменную типа int или char?
Преобразовать в строку, затем строку вывести.

Дело в том, что эта функция не выводит строку
авторchar * s2;
MessageBox(s2, L"SD", MB_OK)


Выдает ошибку

автор error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char *' to 'const unsigned short *'
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475556
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbMessageBox выбирает из 2 вариантов - MessageBoxA или MessageBoxW.

В моем случае используется юникодная версия функции.
Но в обоих случаях у функции 3 параметра.Чудес не бывает! В документации по WinCE функция имеет 4 параметра и первый из них HWND. Ты уверен, что компилятор тянет заголовочный файл из WinCE SDK? Проверь include пути!
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475559
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbDima Tпропущено...

Преобразовать в строку, затем строку вывести.

Дело в том, что эта функция не выводит строку
авторchar * s2;
MessageBox(s2, L"SD", MB_OK)


Выдает ошибку

автор error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char *' to 'const unsigned short *'
Правильно, т.к. char * это ANSI строка, а функции надо юникод, т.е. TCHAR* (оно же unsigned short *)
Надо конвертировать
Код: plaintext
1.
2.
3.
TCHAR tt[256];
convert(s2, tt);
MessageBox(tt, L"SD", MB_OK);

С юникодом не работал, функции не подскажу, ищи что вместо convert() использовать.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475562
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devSergey_rbMessageBox выбирает из 2 вариантов - MessageBoxA или MessageBoxW.

В моем случае используется юникодная версия функции.
Но в обоих случаях у функции 3 параметра.Чудес не бывает! В документации по WinCE функция имеет 4 параметра и первый из них HWND. Ты уверен, что компилятор тянет заголовочный файл из WinCE SDK? Проверь include пути!

Пример с такой же ошибкой

http://forum.vingrad.ru/topic-300919.html

Там у функции 3 параметра.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475567
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475573
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475576
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rbПример с такой же ошибкой

http://forum.vingrad.ru/topic-300919.html

Там у функции 3 параметра.Потому что там речь идет о вызове статического метода класса CWnd, поэтому без первого параметра, так как CWnd уже знает хендл окна. Попробуй так:
Код: plaintext
1.
::MessageBox(hwnd, caption, text, MB_OK);
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475578
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для конвертации еще есть mbstowcs()
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475584
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devПотому что там речь идет о вызове статического метода класса CWnd, поэтому без первого параметра, так как CWnd уже знает хендл окна. Попробуй так:
Код: plaintext
1.
::MessageBox(hwnd, caption, text, MB_OK);


ИМХО не поможет. Пусть дальше метод вызывает.

Как я понял у ТС проблема с кодировками. 20580928 Он char* пытается в параметры передать, думая что это строка.

И как понимаю "error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char *' to 'const unsigned short *'" он трактует что сюда число надо.
...
Рейтинг: 0 / 0
Какой извращенец писал MessageBoxW?
    #39475592
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Trdb_devПотому что там речь идет о вызове статического метода класса CWnd, поэтому без первого параметра, так как CWnd уже знает хендл окна. Попробуй так:
Код: plaintext
1.
::MessageBox(hwnd, caption, text, MB_OK);


ИМХО не поможет. Пусть дальше метод вызывает.

Как я понял у ТС проблема с кодировками. 20580928 Он char* пытается в параметры передать, думая что это строка.

И как понимаю "error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char *' to 'const unsigned short *'" он трактует что сюда число надо.

Как тогда в качестве параметра передать число?
...
Рейтинг: 0 / 0
25 сообщений из 196, страница 1 из 8
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какой извращенец писал MessageBoxW?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]