У меня есть класс с именем CMyPrintDialog, полученный из CPrintDialog MFC. Он используется как ActiveX в IE, и проект связан с MFC статически. Он хорошо работает в IE8 на протяжении многих лет. Но тот же двоичный код проекта не работает на IE10. Диалог печати может появиться, но, к сожалению, его OnInitDialog никогда не вызывается и вызывает проблемы. Странно то, что если я присоединю отладчик VS к IE, OnInitDialog будет вызываться правильно, и настраиваемый диалог печати будет хорошо работать. Кажется, что Microsoft что-то изменила и вызывает проблему.CMyPrintDialog :: OnInitDialog() не вызывается в IE10
Я нашел a similar link, но это не сработает.
Благодарим миллион за любые идеи.
Код тот же, что и у вас в конструкторе. Моя проблема не в сбое. На самом деле открывается диалоговое окно печати, но дескриптор сообщения производного класса, например OnOk(), не вызывается, когда я нажимаю кнопку «ОК». Это делает диалог неправильным. – Cesc
@Cesc вы уверены, что ваше сообщение OnOK() имеет правильный прототип, поскольку он присутствует в родительском классе. То есть в вашем случае вы вызываете OnOK() означает, что вы выполняете родительскую функцию. Такой прототип должен быть таким же, как и другим связанным с кодом кодом. –
Да, это точно так же. Как и то, что я упоминал, я строю dll и использую его на IE8, все работает хорошо. Но если я использую одну и ту же DLL в IE10, у меня возникают проблемы. Я построил код VS2012. – Cesc