/* File: D:\WACKER\term.c (Created: 23-Nov-1993) * * Copyright 1994 by Hilgraeve Inc. -- Monroe, MI * All rights reserved * * $Revision: 3 $ * $Date: 12/20/00 4:36p $ */ #include #pragma hdrstop #include #if !defined(NDEBUG) //#include // 'MemDefaultPoolFlags = MEM_POOL_SERIALIZE' is required by Smartheap // if app is multithreaded. // #if !defined(NO_SMARTHEAP) unsigned MemDefaultPoolFlags = MEM_POOL_SERIALIZE; #endif #endif #if defined(MSVS6_DEBUG) #if defined(_DEBUG) // // If compiling a debug build with VC6, then turn on the // new heap debugging tools. To enable this, add the // define of MSVS6_DEBUG in your personal.cfg. // #include #endif // _DEBUG #endif // MSVS6_DEBUG /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- * FUNCTION: * WinMain * * DESCRIPTION: * Entry point for wacker * */ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) { int i; #if defined(MSVS6_DEBUG) #if defined(_DEBUG) // // If compiling a debug build with VC6, then turn on the // new heap debugging tools. To enable this, add the // define of MSVS6_DEBUG in your personal.cfg. // // Get the current state of the flag // and store it in a temporary variable // int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); // // Turn On (OR) - Keep freed memory blocks in the // heap’s linked list and mark them as freed // tmpFlag |= _CRTDBG_DELAY_FREE_MEM_DF; // // Turn On (OR) - Enable debug heap allocations // and use of memory block type identifiers, // such as _CLIENT_BLOCK. // tmpFlag |= _CRTDBG_ALLOC_MEM_DF; // // Turn On (OR) - Enable debug heap memory leak check // at program exit. // tmpFlag |= _CRTDBG_LEAK_CHECK_DF; // // Turn Off (AND) - prevent _CrtCheckMemory from // being called at every allocation request // tmpFlag &= ~_CRTDBG_CHECK_ALWAYS_DF; // // Set the new state for the flag // _CrtSetDbgFlag( tmpFlag ); #endif // _DEBUG #endif // MSVS6_DEBUG if (hPrevInst) return FALSE; /* --- Initialize Smartheap memory manager for debug version only. --- */ #if !defined(NDEBUG) #if !defined(NO_SMARTHEAP) MemRegisterTask(); #endif #endif /* --- Initialize this instance of the program --- */ if (!InitInstance(hInst, (LPTSTR)lpCmdLine, nCmdShow)) return FALSE; /* --- Process messages until the end --- */ i = MessageLoop(); /* --- Report any memory leaks in debug version only. --- */ #if !defined(NDEBUG) #if !defined(NO_SMARTHEAP) dbgMemReportLeakage(MemDefaultPool, 1, 1); //lint !e522 #endif #endif #if defined(MSVS6_DEBUG) #if defined(_DEBUG) // // Dump any memory leaks here. // _CrtDumpMemoryLeaks(); #endif // _DEBUG #endif // MSVS6_DEBUG return i; }