Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima TИМХО не поможет. Пусть дальше метод вызывает. Как я понял у ТС проблема с кодировками. 20580928 Он char* пытается в параметры передать, думая что это строка. И как понимаю "error C2664: 'MessageBoxW' : cannot convert parameter 1 from 'char *' to 'const unsigned short *'" он трактует что сюда число надо.Потому что он пытается передать строку однобайтных символов вместо UNICODE. Указатель на строку unicode, это, как раз, const unsigned short* - широкий символ . В заголовочных файлах объявлено так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 15:58 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbКак тогда в качестве параметра передать число? Преобразовать его в строку. wsprintf() Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 15:59 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbКак тогда в качестве параметра передать число?Кто тебе сказал, что компилятор делает разницу между числом и строкой? Без понимания, что в C++ из себя представляет строка и что такое приведение типа указателя тебе тут пока нечего делать. Иди учить матчасть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:01 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima TSergey_rbКак тогда в качестве параметра передать число? Преобразовать его в строку. wsprintf() Код: plaintext 1. 2. 3. 4. Спасибо! Хоть что-то заработало! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:08 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Просто удивительно, почему Мастер предлагает закопать дельфи и всех дельфистов оптом... Да вот же почему =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:12 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbСпасибо! Хоть что-то заработало! С wsprintf() поаккуратней, т.к. можно устроить переполнение буфера . Такие косяки потом долго искать придется. И матчасть поучи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:17 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbСпасибо! Хоть что-то заработало! Разберись с этим: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:31 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
rdb_devSergey_rbСпасибо! Хоть что-то заработало! Разберись с этим: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Ну вот, а так хотелось по быстрому переписать прогу для терминалов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 16:35 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rb, Про извращенца свои слова назад берешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 17:12 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
MasterZivSergey_rb, Про извращенца свои слова назад берешь? Беру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 17:20 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Хотя нет . Правильно работает функция ::MessageBoxW Но речь шла о функции MessageBoxW у которой 3 параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 17:22 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbНо речь шла о функции MessageBoxW у которой 3 параметра. Тогда это не функция, а метод определённого класса (о чём ты "забыл" упомянуть). К которому опять же, наверное, есть документация. Но вне зависимости от этого пытаться скармливать char* туда, где требуется wchar_t* - целиком и полностью твоя ошибка. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 17:53 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Удивительно как все возбудились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 22:11 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТогда это не функция, а метод определённого класса (о чём ты "забыл" упомянуть). К которому опять же, наверное, есть документация. Но вне зависимости от этого пытаться скармливать char* туда, где требуется wchar_t* - целиком и полностью твоя ошибка. Это один из методов CWnd , о чем я ему уже писал 20580975 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 05:27 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Написал такой вариант авторwchar_t tbuf[1024]; char rbuff[1024]; res = recv(sock, rbuff, 1024, 0); MultiByteToWideChar(1251,0,rbuff,-1,tbuf,sizeof(rbuff)); ::MessageBoxW(NULL, (LPCWSTR)&tbuf, L"Тест", MB_ICONEXCLAMATION | MB_OK); На WinCe 5.0 выдает правильное сообщение на русском, на WinCe 6.0 выдает пустое сообщение. Что опять не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 10:22 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Возможно WinCe 6.0 не знает 1251 и ее как-то установить надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 10:52 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
У меня прога, написанная на Лазарусе работает под обеими виндами, так что все там установлено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:10 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbНа WinCe 5.0 выдает правильное сообщение на русском, на WinCe 6.0 выдает пустое сообщение. Что опять не так?Потому что надо внимательнее читать документацию ! "cchWideChar [in] Size, in characters , of the buffer indicated by lpWideCharStr. If this value is 0, the function returns the required buffer size, in characters, including any terminating null character, and makes no use of the lpWideCharStr buffer." Для начала убедись, что после recv() в rbuff ты имеешь null-terminated строку. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:28 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Не прокатило Вариант с получением IP на WinCe 6.0 не работает, хотя сам адрес определяется корректно автор gethostname(PCName, 30); h = gethostbyname(&PCName[0]); LocalIP = inet_ntoa (*(reinterpret_cast<in_addr *>(*(h->h_addr_list)))); MultiByteToWideChar(1251,0,LocalIP,-1,tbuf,30); ::MessageBoxW(NULL,(LPCWSTR)&tbuf, L"Connected", MB_ICONEXCLAMATION | MB_OK); Может действительно, проблема с кодировками? Как определить, в какой кодировке пришло сообщение в буфер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:44 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbМожет действительно, проблема с кодировками? Как определить, в какой кодировке пришло сообщение в буфер?Нет, проблема в ДНК. Иди учить матчасть по null-terminated строкам и арифметику для начальных классов! 4 * 3 символа на октет + 3 * символ-разделитель (точка) + null-terminate символ = ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:53 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbМожет действительно, проблема с кодировками? Проверять коды возврата функций и выводить сообщения об ошибках Пушкин будет?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:56 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbКак определить, в какой кодировке пришло сообщение в буфер?Заглянуть в буфер через отладчик и посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:58 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
rdb_devSergey_rbКак определить, в какой кодировке пришло сообщение в буфер?Заглянуть в буфер через отладчик и посмотреть. Нет у меня отладчика, тестирую на терминалах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 12:11 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
rdb_devSergey_rbМожет действительно, проблема с кодировками? Как определить, в какой кодировке пришло сообщение в буфер?Нет, проблема в ДНК. Иди учить матчасть по null-terminated строкам и арифметику для начальных классов! 4 * 3 символа на октет + 3 * символ-разделитель (точка) + null-terminate символ = ??? У WinCe 6.0. не такая математика как у WinCe 5.0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 12:12 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39476089&tid=2018126]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 190ms |

| 0 / 0 |
