Внутри моего приложения я хочу отправить сообщение в диалог из другого потока. Я хочу передать ссылку на производный класс std :: exception в диалоговом окне.Как отправить строку через PostMessage?
Что-то вроде этого:
try {
//do stuff
}
catch (MyException& the_exception) {
PostMessage(MyhWnd, CWM_SOME_ERROR, 0, 0); //send the_exception or the_exception.error_string() here
}
Я хочу, чтобы получить сообщение в диалоговом окне моего и показать ошибку, которая находится в the_exception.error_string()
LPARAM CMyDlg::SomeError(WPARAM, LPARAM)
{
show_error(?????
return 0;
}
прохождение std::string the_exception.error_string()
с помощью PostMessage также будет хорошо, я Угадай.
Привет, большое спасибо за ваш ответ. вы забыли бросок для LPARAM PostMessage (MyhWnd, CWM_SOME_ERROR, 0, reinterpret_cast (новая строка (the_exception.error_string))); А как насчет использования auto_ptr вместо: std :: auto_ptr msg (reinterpret_cast (lParam)); Потому что это показывает передачу права собственности. –
rec
ouch, плохое форматирование проверка линии разрыва проверка линии перерыва – rec
Это не утечка памяти? Где вы уничтожаете новую строку()? –