WASSERT.C
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*==========================================================================
  2.  *
  3.  *  Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
  4.  *
  5.  *  File: wassert.c
  6.  *  Content: Windows assert handler
  7.  *              You must externally define hWndMain and szAppName for this
  8.  *              to work.
  9.  *
  10.  ***************************************************************************/
  11. #define WIN32_LEAN_AND_MEAN
  12. #include <windows.h>
  13. extern HWND hWndMain;
  14. extern char szAppName[];
  15. #include "wassert.h"
  16. #ifdef WASSERT
  17. void AssertFail(char szErr[], char szFileName[], int nLine, char szMessage[])
  18. {
  19. char szT[256];
  20. if (szMessage != NULL)
  21. wsprintf(szT, "Assert(%s);nFile %s, line %d.  %s", szErr, szFileName, nLine, szMessage);
  22. else 
  23. wsprintf(szT, "Assert(%s);nFile %s, line %d.", szErr, szFileName, nLine);
  24. switch (MessageBox(hWndMain, szT, szAppName, MB_ABORTRETRYIGNORE | MB_ICONSTOP | MB_APPLMODAL))
  25. {
  26. case IDABORT:
  27. SendMessage(hWndMain, WM_CLOSE, 0, 0);
  28. case IDRETRY:
  29. _asm int 3;
  30. // Fall Through //
  31. case IDIGNORE:
  32. break;
  33. } // switch
  34. } // AssertFail
  35. #endif // ASSERT