]> git.saurik.com Git - wxWidgets.git/commitdiff
we can't declare WinMain() with other arguments using Borland, revert to including...
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Jun 2003 21:49:00 +0000 (21:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Jun 2003 21:49:00 +0000 (21:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/app.h
src/msw/main.cpp

index d01a8c6d595f0b5dbfd041d34e100fc6af017a68..64bf26e029da0c1e0cd7223bc677ce530364c0de 100644 (file)
@@ -557,15 +557,19 @@ public:
     #define IMPLEMENT_WXWIN_MAIN                                              \
         int main(int argc, char **argv) { return wxEntry(argc, argv); }
 #elif defined(__WXMSW__) && defined(WXUSINGDLL)
+    // we need HINSTANCE declaration to define WinMain()
+    #include <windows.h>
+    #include "wx/msw/winundef.h"
+
     #define IMPLEMENT_WXWIN_MAIN \
-        extern int wxEntry(WXHINSTANCE hInstance,                             \
-                           WXHINSTANCE hPrevInstance,                         \
-                           char *pCmdLine,                                    \
-                           int nCmdShow);                                     \
-        extern "C" int wxSTDCALL WinMain(WXHINSTANCE hInstance,               \
-                                         WXHINSTANCE hPrevInstance,           \
-                                         char *lpCmdLine,                     \
-                                         int nCmdShow)                        \
+        extern int wxEntry(HINSTANCE hInstance,                               \
+                           HINSTANCE hPrevInstance = NULL,                    \
+                           char *pCmdLine = NULL,                             \
+                           int nCmdShow = SW_NORMAL);                         \
+        extern "C" int WINAPI WinMain(HINSTANCE hInstance,                    \
+                                      HINSTANCE hPrevInstance,                \
+                                      char *lpCmdLine,                        \
+                                      int nCmdShow)                           \
         {                                                                     \
             return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow);    \
         }
index 13c6321b2bb40e563e23399b88451127b2efadb4..dc59e37587095629968692e6f7f391e3adb74362 100644 (file)
@@ -28,7 +28,6 @@
     #pragma hdrstop
 #endif
 
-#include "wx/init.h"
 #include "wx/event.h"
 #include "wx/app.h"
 #include "wx/cmdline.h"
@@ -69,13 +68,13 @@ static wxChar **ConvertToStandardCommandArgs(const wxChar *p, int& argc);
 // Windows-specific wxEntry
 // ----------------------------------------------------------------------------
 
-int wxEntry(WXHINSTANCE hInstance,
-            WXHINSTANCE WXUNUSED(hPrevInstance),
+int wxEntry(HINSTANCE hInstance,
+            HINSTANCE WXUNUSED(hPrevInstance),
             char *pCmdLine,
             int nCmdShow)
 {
     // remember the parameters Windows gave us
-    wxSetInstance((HINSTANCE)hInstance);
+    wxSetInstance(hInstance);
     wxApp::m_nCmdShow = nCmdShow;
 
     // parse the command line
@@ -106,10 +105,7 @@ int PASCAL WinMain(HINSTANCE hInstance,
                    LPSTR lpCmdLine,
                    int nCmdShow)
 {
-    return wxEntry((WXHINSTANCE) hInstance,
-                   (WXHINSTANCE) hPrevInstance,
-                   lpCmdLine,
-                   nCmdShow);
+    return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
 }
 
 #else // _WINDLL
@@ -127,7 +123,7 @@ DllMain(HANDLE hModule, DWORD fdwReason, LPVOID WXUNUSED(lpReserved))
     switch (fdwReason)
     {
         case DLL_PROCESS_ATTACH:
-            return wxEntry((WXHINSTANCE) hModule);
+            return wxEntry(hModule);
 
         case DLL_PROCESS_DETACH:
             wxEntryCleanup();