Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.68/78: Рейтинг темы: голосов - 78, средняя оценка - 4.68
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
1

messagebox не работает

18.06.2011, 03:33. Просмотров 15948. Ответов 22
Метки нет (Все метки)

C++
1
2
3
4
if (MessageBox(Handle,"Вы уверены?","Подтверждение",MB_YESNO) == IDYES)
            {
                       ShowMessage("Hello world");
            }
При любом выборе вылезает сообщение. Как так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2011, 03:33
Ответы с готовыми решениями:

Не работает MessageBox() в C++ Builder XE
Привет всем, не могу понять почему не работает MessageBox()! вот код каторый я пробую:...

Не работает SetFocus после MessageBox
Пишу на C++ Builder 2010. Проблема в том, что после вызова функции MessageBox, курсор должен...

Не работает MessageBox
Не работает след строчка MessageBox("Test"); Выдает ошибку error C2664: 'MessageBoxW' :...

Windows forms, Не работает MessageBox.
Создал три формы: в первой вопрос в label1: Как вас завут?. Пишем в textBox1 ,И жмем на button1;...

22
LK
Заблокирован
18.06.2011, 03:47 2
verse
C++
1
2
3
4
5
MessageBox(NULL,"Вы уверены?","Подтверждение",MB_YESNO) == IDYES
//
MessageBox(this->Handle,"Вы уверены?","Подтверждение",MB_YESNO) == IDYES
//
Application->MessageBox("Вы уверены?","Подтверждение",MB_YESNO) == IDYES
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 03:55  [ТС] 3
У первых двух результат тот же, на трейти ругается компилятор
0
LK
Заблокирован
18.06.2011, 04:05 4
вырабатывайте в себе гламурную привычку приводить мат компилятора дословно

Добавлено через 4 минуты
C++
1
2
3
4
AnsiString msg,ttl;
msg = "Вы уверены?";
ttl = "Подтверждение";
Application->MessageBox(msg.c_str(),ttl.c_str(),,MB_YESNO) == IDYES
Добавлено через 15 секунд
C++
1
2
3
4
AnsiString msg,ttl;
msg = "Вы уверены?";
ttl = "Подтверждение";
Application->MessageBox(msg.c_str(),ttl.c_str(),,MB_YESNO) == IDYES
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 04:05  [ТС] 5
Цитата Сообщение от LK Посмотреть сообщение
вырабатывайте в себе гламурную привычку приводить мат компилятора дословно
E2034:Cannot convert 'const char *' to 'const wchar_t*'
E2342:Type mismatch in parameter 'Text'(wanted 'const wchar_t*',got 'const char *')
ещё про ; да бог с ней, от её появления смысл не меняется
0
LK
Заблокирован
18.06.2011, 04:07 6
C++
1
2
3
4
AnsiString msg,ttl;
msg = "Вы уверены?";
ttl = "Подтверждение";
Application->MessageBox(msg.c_str(),ttl.c_str(),,MB_YESNO) == IDYES
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 04:12  [ТС] 7
Самое интересное, что в одной(уже существующей с проекта) форме код с первого поста пашет, а в новых уже нет.

Добавлено через 3 минуты
Цитата Сообщение от LK Посмотреть сообщение
C++
1
2
3
4
AnsiString msg,ttl;
msg = "Вы уверены?";
ttl = "Подтверждение";
Application->MessageBox(msg.c_str(),ttl.c_str(),,MB_YESNO) == IDYES
теже самые ошибки выдаёт
0
LK
Заблокирован
18.06.2011, 04:15 8
уберите мою опечатку - две запятые подряд
Application->MessageBox(msg.c_str(),ttl.c_str(),,MB_YESNO) == IDYES
- вы тоже уже сутки как не спали ?
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 04:17  [ТС] 9
Цитата Сообщение от LK Посмотреть сообщение
уберите мою опечатку - две запятые подряд - вы тоже уже сутки как не спали ?
Почти)) Убирал я есесна запятую, после того как убираю и вываливаются ошибки. С ней есесна экспрешн синтакс. У меня предчувствие что надо билдер сносить...
0
LK
Заблокирован
18.06.2011, 04:21 10
какие ошибки?

Добавлено через 1 минуту
Блин, вы говорите, что у вас юникодный билдер -
C++
1
UnicodeString msg,ttl;
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 04:21  [ТС] 11
Цитата Сообщение от time_to_go_on Посмотреть сообщение
E2034:Cannot convert 'const char *' to 'const wchar_t*'
E2342:Type mismatch in parameter 'Text'(wanted 'const wchar_t*',got 'const char *')
Эти ошибки
0
LK
Заблокирован
18.06.2011, 04:24 12
см. выше

Добавлено через 2 минуты
т.е.:
C++
1
2
3
4
UnicodeString msg,ttl;
msg = "Вы уверены?";
ttl = "Подтверждение";
Application->MessageBox(msg.c_str(),ttl.c_str(),,MB_YESNO) == IDYES
еще есть
C++
1
MessageDlg("Вы уверены?", mtCustom, TMsgDlgButtons()<<mbYes<<mbNo, 0);
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 04:43  [ТС] 13
Работает, но результат как и в первом посте. messageDlg не пойдёт так как нужны русские кнопки и заголовок, хотя он работает без проблем.

Добавлено через 14 минут
короче, запустил репеир, всё прошло и вуаля - всё пашет. В чём глюк мог быть? Я ток фаст репорт подключал.
0
LK
Заблокирован
18.06.2011, 04:45 14
какой репеир?
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
18.06.2011, 04:48  [ТС] 15
эмбракадеровский(Modify,Repair,Uninstall). Наверное из-за левого файла регистрации вся байда была
0
365 / 247 / 24
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
18.06.2011, 07:15 16
time_to_go_on, Читай внимательней, тебе LK, все как нужно написал
C++
1
2
3
4
if (MessageBox(Handle,L"Вы уверены?",L"Подтверждение",MB_YESNO) == IDYES)
            {
                       ShowMessage("Hello world");
            }
Ты пишешь char* ("Текст"), а нужно wchar_t* (L"Текст")
Понял?
1
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
19.06.2011, 18:22  [ТС] 17
Понял то понял, результат ток не именился с момента первого поста. Сегодня билдер опять тоже самое говорит, с MessageDlg тоже самое - не работает выбор нифига. Я уже ставил и сносил эмбракадеровский билдер 2010 и XE, но всё также, видимо тут либо глобальная чистка реестра спасёт только либо снос винды))

Добавлено через 21 час 43 минуты
Стыдно признаться, но дело оказалось лишь в том, что я на автомате ставил ; в конце месаджбокса
0
LK
Заблокирован
20.06.2011, 01:40 18
билдер должен был ругаться на отсутствие вызова фцнкции, некорректный синтаксис, нечитаемый код и т.д., видимо, этого тоже не заметил
0
0 / 0 / 1
Регистрация: 20.12.2010
Сообщений: 85
20.06.2011, 01:59  [ТС] 19
Цитата Сообщение от LK Посмотреть сообщение
билдер должен был ругаться на отсутствие вызова фцнкции, некорректный синтаксис, нечитаемый код и т.д., видимо, этого тоже не заметил
а ты попробуй ввести
C++
1
2
3
4
 MessageBox(Handle,L"sdfsd",L"sdfsd",MB_YESNO)==IDYES;
   {
   ShowMessage("fgdfgdfgdfgdfg");
  }
и без ;

или

C++
1
2
3
4
 if(MessageBox(Handle,L"sdfsd",L"sdfsd",MB_YESNO)==IDYES);
   {
   ShowMessage("fgdfgdfgdfgdfg");
  }
прежде чем что-то писать)
0
LK
Заблокирован
20.06.2011, 02:12 20
уговорил... я больше ничего тебе писать не буду .
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2011, 02:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Не работает MessageBox
При компиляции выдает такую ошибку: 1&gt;c:\documents and settings\admin\мои документы\visual studio...

Не работает MessageBox!
Код и сама ошибка показаны на скриншоте. В чём проблема и как её решить?

Не работает messagebox
Здравствуйте. у меня в visual studio c++ не хочет работать messagebox. Я прописал: MessageBox...

Messagebox.Show не работает в разных проектах
Коллеги, добрый день. Я скачал с гита один проект и начал в нем работать. Все шло нормально до...

Странно работает Win32::GUI::MessageBox
Добрый день Народ есть в модуле на перле такая строка my $otvet =...

Где у меня ошибка то почему не работает MessageBox
См. скриншот... Вот весь код кнопки DialogResult res = MessageBox.Show(&quot;Сообщение от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.