Как установить уровень ошибки при выходе из приложения MFC - PullRequest
3 голосов
/ 06 ноября 2008

У меня есть устаревшее приложение MFC, которое я помогаю поддерживать. Я не совсем уверен, как определить версию MFC, и я не думаю, что это все равно будет иметь значение.

Приложение может принимать некоторые параметры в командной строке; Я хотел бы иметь возможность установить уровень ошибки при выходе из приложения, чтобы позволить файлу bat / cmd проверять наличие ошибок и отвечать соответствующим образом.

Я не верю, что exit () сработает (если честно, еще не пробовал), потому что это приложение MFC. Кто-нибудь знает, как установить уровень ошибки, возвращаемый приложением MFC? Могу ли я просто использовать exit ()?

Ответы [ 4 ]

6 голосов
/ 06 ноября 2008

Я не могу взять кредит на себя, поэтому, пожалуйста, не отвечайте.

CWinApp :: ExitInstance (); return myExitCode;

Это вернет уровень ошибки в вызывающий пакетный файл, который вы затем сможете оценить и действовать.

2 голосов
/ 16 января 2009

Если ваше приложение отказывается обновлять ERRORLEVEL в оболочке DOS, с которой вы его запускаете, независимо от того, что вы делаете в коде вашей программы, это может помочь запустить ваше приложение с помощью «start / wait», чтобы оболочка была заблокирована до ваша программа заканчивается.

1 голос
/ 06 ноября 2008

Мне всегда удавалось вернуть код ошибки из CWinApp :: ExitInstance. Я полагаю, что реализация по умолчанию вернет значение из сообщения о выходе. Так что вы можете использовать AfxPostQuitMessage, если это проще. Но я лично не проверял второй метод.

1 голос
/ 06 ноября 2008

В списке есть пара решений здесь Я не могу комментировать, что лучше, но я уверен, что по крайней мере одно из них поможет вам там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...