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

Windows编程

开发平台:

Visual C++

  1. /*** 
  2. *misc.cpp
  3. *
  4. *  This is a part of the Microsoft Source Code Samples.
  5. *
  6. *  Copyright (C) 1992-1997 Microsoft Corporation. All rights reserved.
  7. *
  8. *  This source code is only intended as a supplement to Microsoft Development
  9. *  Tools and/or WinHelp documentation.  See these sources for detailed
  10. *  information regarding the Microsoft samples programs.
  11. *
  12. *Purpose:
  13. *
  14. *Implementation Notes:
  15. *
  16. *****************************************************************************/
  17. // Use ANSI strings for assertions
  18. #ifdef UNICODE
  19. #  undef UNICODE
  20. #endif
  21. #include "dispdemo.h"
  22. #include <stdio.h>
  23. #include <stdarg.h>
  24. int g_fTrace = 0;
  25. STDAPI
  26. InitOle(void)
  27. {
  28.     HRESULT hresult;
  29.     if((hresult = OleInitialize(NULL)) != NOERROR)
  30.       return hresult;
  31. // UNDONE: temporary to try to get symbols for the DLL
  32.     VARIANT var;
  33.     VariantInit(&var);
  34.     return NOERROR;
  35. }
  36. STDAPI
  37. UninitOle()
  38. {
  39.     OleUninitialize();
  40.     return NOERROR;
  41. }
  42. extern "C" void
  43. Assert(int fCond, char FAR* file, int line)
  44. {
  45.     char buf[128];
  46.     if(fCond)
  47.       return;
  48.     sprintf(buf, "Assertion failed: %s(%d)n", file, line);
  49. #ifdef _MAC
  50.     DebugStr(c2pstr(buf));
  51. #else
  52.     OutputDebugString(buf);
  53.     DebugBreak();
  54. #endif
  55. }
  56. #ifdef _MAC
  57. extern "C" {
  58. extern WindowPtr g_pwndDebug;
  59. void
  60. DbPrintf(char *sz, ...)
  61. {
  62.     va_list args;
  63.     WindowPtr pwndSaved;
  64. static char rgchOut[256];
  65.     if(g_pwndDebug == nil)
  66.       return;
  67.     GetPort(&pwndSaved);
  68.     SetPort(g_pwndDebug);
  69.     va_start(args, sz);
  70.     vsprintf(rgchOut, sz, args);
  71.     rgchOut[79] = '';
  72.     EraseRect(&g_pwndDebug->portRect);
  73.     TextFont(systemFont);
  74.     MoveTo(10,20);
  75.     DrawString(c2pstr(rgchOut));
  76.     SetPort(pwndSaved);
  77. }
  78. }
  79. #endif