В MSDN сказано, что функция CDialog.DoModal() возвращает значение –1, если функция не может создать диалоговое окно. Он не говорит, в каком случае он может не создать диалоговое окно.
Быстрое изучение исходного кода MFC показывает, что если (LPCDLGTEMPLATE)LockResource(hDialogTemplate) возвращает NULL, функция DoModal может вернуть -1.
Поскольку моя проблема не может стабильно воспроизводиться в нашем стресс-тесте, я не могу отладить программу, чтобы найти основную причину. Кто-нибудь здесь сталкивался с подобной проблемой?