Re[5]: Перехват адреса AfxMessageBox
От: Carc Россия http://www.amlpages.com/home.php
Дата: 03.12.08 04:14
Оценка:
Здравствуйте, zmxncbv, Вы писали:

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


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


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


C>>>>Имхо AfxMessageBox вызовет virtual int CWinAPP::DoMessageBox — может быть проще ее ловить!?!

N>>>Именно! Если свое App, то так и поступают. Стандартно, без всяких "садо-мазо" ...

Z>Спасибо за идею. App не своё, но возникла мысль создать класс на основе CWinApp, переопределить для него DoMessageBox и установить объект этого класса как текущее приложение (чтобы AfxGetApp в AfxMessageBox вернула то, что надо).

1) Ну такие вещи чреваты... Старый замещаемый код может рассчитывать на определенный обьект CWinApp.
2) Даже если все хорошо, все равно не всегда может пройти. Иногда, догадываясь что "не я один такой вумный" (С) DoMessageBox может вызываться напрямую через статическое связывание с вполне конкретным theApp, доступным в design time, а не через получение указателя через AfxGetApp(). Хотя пожалуй такое редко встретишь...
Aml Pages Home
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.