# pragma interface
#endif
-#include <wx/setup.h>
+#include "wx/setup.h"
#if wxUSE_DYNLIB_CLASS
-#include <wx/string.h>
-#include <wx/list.h>
-#include <wx/hash.h>
+#include "wx/string.h"
+#include "wx/list.h"
+#include "wx/hash.h"
// this is normally done by configure, but I leave it here for now...
#if defined(__UNIX__) && !(defined(HAVE_DLOPEN) || defined(HAVE_SHL_LOAD))
# include <dl.h>
typedef shl_t wxDllType;
#elif defined(__WINDOWS__)
-# include <windows.h>
+//# include <windows.h>
+ typedef HMODULE wxDllType;
+#elif defined(__OS2__)
+# define INCL_DOS
+# include <os2.h>
typedef HMODULE wxDllType;
#elif defined(__WXMAC__)
typedef CFragConnectionID wxDllType;
# error "wxLibrary can't be compiled on this platform, sorry."
#endif // OS
-// defined in windows.h
-#ifdef LoadLibrary
-# undef LoadLibrary
+// LoadLibrary is defined in windows.h as LoadLibraryA, but wxDllLoader method
+// should be called LoadLibrary, not LoadLibraryA or LoadLibraryW!
+#if defined(__WIN32__) && defined(LoadLibrary)
+# include "wx/msw/winundef.h"
#endif
// ----------------------------------------------------------------------------
@param success Must point to a bool variable which will be set to TRUE or FALSE.
@return A handle to the loaded DLL. Use success parameter to test if it is valid.
*/
- static wxDllType LoadDll(const wxString & libname, bool *success);
+ static wxDllType LoadLibrary(const wxString & libname, bool *success = NULL);
+ /** This function unloads the shared library. */
+ static void UnloadLibrary(wxDllType dll);
+ /** This function returns a valid handle for the main program
+ itself. */
+ static wxDllType GetProgramHandle(void);
/** This function resolves a symbol in a loaded DLL, such as a
variable or function name.
@param dllHandle Handle of the DLL, as returned by LoadDll().