home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / BOCOLE.PAK / OLEDLL.CPP < prev    next >
C/C++ Source or Header  |  1995-08-29  |  1KB  |  66 lines

  1. //
  2. //**************************************************************************
  3. // 
  4. // OleDLL.cpp -- DLL entry/exit points for BOLE.DLL
  5. //
  6. // Copyright (c) 1993,94 by Borland International, Inc. All rights reserved
  7. //
  8. //**************************************************************************
  9.  
  10. #include <BOle32.h>
  11. #include <Windows.h>
  12. #include "OLE2UI.h"
  13.  
  14. HINSTANCE boleInst;
  15.  
  16. // This works around an RTL bug which leaves Win87EM.DLL locked
  17. //
  18. #if defined(__BORLANDC__) && !defined(WIN32)
  19.     extern unsigned _LockWIN87EM;
  20.     void WhackRTL ()    { _LockWIN87EM = FALSE; }
  21.     #pragma startup WhackRTL 0
  22. #endif
  23.  
  24. extern "C" {
  25. #include "ole2ui.h"
  26. }
  27.  
  28. OLEDBGDATA_MAIN ("BOLE")
  29.  
  30. extern "C" int FAR PASCAL LibMain( HINSTANCE hInst, WORD, WORD, LPSTR )
  31. {
  32.     boleInst = hInst;
  33.     OleUIInitialize (boleInst, NULL);
  34.     return 1;
  35. }
  36.  
  37. extern "C" int FAR PASCAL WEP(int /*systemExit*/)
  38. {
  39.     OleUIUninitialize ();
  40.     return 1;
  41. }
  42.  
  43. #ifdef WIN32
  44.  
  45. extern "C" BOOL WINAPI DllEntryPoint( HINSTANCE hInst, DWORD dwReason, LPVOID )
  46. {
  47.     switch  (dwReason) {
  48.         case DLL_PROCESS_ATTACH:
  49.             LibMain(hInst, NULL, NULL, NULL);
  50.             break;
  51.         case DLL_PROCESS_DETACH:
  52.             WEP(NULL);
  53.             break;
  54.         case DLL_THREAD_ATTACH:
  55.         case DLL_THREAD_DETACH:
  56.             break;
  57.     }
  58.  
  59.     return 1;
  60. }
  61.  
  62. #endif
  63.  
  64.  
  65.  
  66.