Не появляется сообщение AfxMessageBox
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 27.11.18 08:18
Оценка:
Не появляется на экране сообщение AfxMessageBox в моей программе.
Код:

strcpy(sresinfo,"Запись расчётных значений была осуществлена в файл ");
strcat(sresinfo,sfilenamebrief);
length = MultiByteToWideChar(1251,0,sresinfo,-1,0,0);
wides = new wchar_t[length];
MultiByteToWideChar(1251,0,sresinfo,wides,length);
AfxMessageBox(wides);
delete[] wides;


В отладчике на строке
AfxMessageBox(wides);

программа останавливается, как бы ожидая моего нажатия на кнопку на этот AfxMessageBox. Но AfxMessageBox почему-то не появляется на экране.

В чём причина этого?
1613 г. = 2024 г.
Re: Не появляется сообщение AfxMessageBox
От: kov_serg Россия  
Дата: 27.11.18 08:27
Оценка: +1
Здравствуйте, RussianFellow, Вы писали:

RF>Не появляется на экране сообщение AfxMessageBox в моей программе.

RF>В чём причина этого?
Скорее всего загорожено окном вашего приложения.
https://stackoverflow.com/questions/9263269/afxmessagebox-appears-behind-mfc-dialog
Re[2]: Не появляется сообщение AfxMessageBox
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 27.11.18 09:10
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, RussianFellow, Вы писали:


RF>>Не появляется на экране сообщение AfxMessageBox в моей программе.

RF>>В чём причина этого?
_>Скорее всего загорожено окном вашего приложения.
_>https://stackoverflow.com/questions/9263269/afxmessagebox-appears-behind-mfc-dialog

И как решить эту проблему? (Среда разработки--Visual Studio 2012).
1613 г. = 2024 г.
Re[3]: Не появляется сообщение AfxMessageBox
От: Evgeniy Skvortsov Россия  
Дата: 28.11.18 17:34
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>И как решить эту проблему? (Среда разработки--Visual Studio 2012).


По ссылке же описаны причины и решение
Re: Не появляется сообщение AfxMessageBox
От: AlexGin Беларусь  
Дата: 30.11.18 15:14
Оценка: +1
Здравствуйте, RussianFellow, Вы писали:

RF>Не появляется на экране сообщение AfxMessageBox в моей программе.

RF>Код:

RF>
RF>strcpy(sresinfo,"Запись расчётных значений была осуществлена в файл ");
RF>strcat(sresinfo,sfilenamebrief);
RF>length = MultiByteToWideChar(1251,0,sresinfo,-1,0,0);
RF>wides = new wchar_t[length];
RF>MultiByteToWideChar(1251,0,sresinfo,wides,length);
RF>AfxMessageBox(wides);
RF>delete[] wides;
RF>


RF>В отладчике на строке

RF>
RF>AfxMessageBox(wides);
RF>

RF> программа останавливается, как бы ожидая моего нажатия на кнопку на этот AfxMessageBox. Но AfxMessageBox почему-то не появляется на экране.

RF>В чём причина этого?


Может стоит попробовать явный вызов AfxMessageBoxW — для wide_char символов?
Re[2]: Не появляется сообщение AfxMessageBox
От: Evgeniy Skvortsov Россия  
Дата: 04.12.18 11:42
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Может стоит попробовать явный вызов AfxMessageBoxW — для wide_char символов?


Разве есть такая функция?
Re[3]: Не появляется сообщение AfxMessageBox
От: Nikolaz Германия www.nikeware.com
Дата: 04.12.18 16:13
Оценка:
Здравствуйте, Evgeniy Skvortsov, Вы писали:

ES>Разве есть такая функция?

Нет однако. Я сначала плюсанул не поняв сути проблемы.
Какой у ТС проект: Unicode или нет? Похоже, что Юникод, но мне дичайше не нравится вот это:
strcpy(sresinfo,"Запись расчётных значений была осуществлена в файл ");
strcat(sresinfo,sfilenamebrief);

Пожоже ТС не знает , что такое _T(), CW2A, CA2W и иже с ними.
Re[4]: Не появляется сообщение AfxMessageBox
От: Evgeniy Skvortsov Россия  
Дата: 05.12.18 06:53
Оценка:
Здравствуйте, Nikolaz, Вы писали:

N>Пожоже ТС не знает , что такое _T(), CW2A, CA2W и иже с ними.


ТС или откровенно тролит, или правда серьезные проблемы с памятью. Про конвертирование символов в разные кодировки уже раза 2 или 3 тут была тема, отвечали все дружно.
Re[4]: Не появляется сообщение AfxMessageBox
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 05.12.18 07:03
Оценка:
Здравствуйте, Nikolaz, Вы писали:

У меня юникодовский проект.
1613 г. = 2024 г.
Re[5]: Не появляется сообщение AfxMessageBox
От: Nikolaz Германия www.nikeware.com
Дата: 05.12.18 07:39
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>Здравствуйте, Nikolaz, Вы писали:


RF>У меня юникодовский проект.

Тогда вопрос почему не используете для константых строк макро _T() и аналоги строковых функций для TCHAR?

было:
strcpy(sresinfo,"Запись расчётных значений была осуществлена в файл ");


стало:
TCHAR sresinfo[SOME_SIZE];
_tcscpy(sresinfo, _T("Запись расчётных значений была осуществлена в файл "));


Тогда и необходимость в постоянном конвертировании отпадёт.
Re[6]: Не появляется сообщение AfxMessageBox
От: VladFein США  
Дата: 16.01.19 22:58
Оценка: -1
Здравствуйте, Nikolaz, Вы писали:

N>Тогда вопрос почему не используете для константых строк макро _T() и аналоги строковых функций для TCHAR?


N>Тогда и необходимость в постоянном конвертировании отпадёт.


_T() макро и TCHAR тип — зло.
Они позволяют вам надеяться, что программа будет работать и в UNICODE, и в MBCS.
Шансы что не будет ни там, ни там (кроме HelloWorld).
Как вы объедините TCHAR с utf8?
Не обманывайте себя, объявляйте нужные вам типы.
Без конвертирования не обойтись, особенно в cross-platform.
Re[7]: Не появляется сообщение AfxMessageBox
От: AlexGin Беларусь  
Дата: 18.01.19 07:36
Оценка:
Здравствуйте, VladFein, Вы писали:

VF>Без конвертирования не обойтись, особенно в cross-platform.


Здесь вроде бы форум по MFC. Поэтому выделенное (насчёт кросс-платформы) — в любом случае неактуально
В действительности — о каком cross-platform разговор, если MFC ориентирован сугубо на M$ Windows...
Re[8]: Не появляется сообщение AfxMessageBox
От: VladFein США  
Дата: 24.01.19 00:19
Оценка:
Здравствуйте, AlexGin, Вы писали:

VF>>Без конвертирования не обойтись, особенно в cross-platform.


AG>Здесь вроде бы форум по MFC. Поэтому выделенное (насчёт кросс-платформы) — в любом случае неактуально

AG>В действительности — о каком cross-platform разговор, если MFC ориентирован сугубо на M$ Windows...

Разговор о cross-platform — с точки зрения использования данных (файлов) в разнух системах. Например — JSON. Или XML.
Как (куда) Вы будете его читать в MFC? В TCHAR?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.