#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
#if wxUSE_DYNAMIC_LOADER
#ifdef __WINDOWS__
-#include "wx/msw/private.h"
+ #include "wx/msw/private.h"
#endif
#ifndef WX_PRECOMP
-#include "wx/log.h"
-#include "wx/intl.h"
+ #include "wx/log.h"
+ #include "wx/intl.h"
#endif
-#include "wx/dynload.h"
+#include "wx/filename.h" // for SplitPath()
+#include "wx/dynload.h"
// ============================================================================
// implementation
#endif
}
-bool wxDynamicLibrary::Load(wxString libname, wxDLFlags flags)
+bool wxDynamicLibrary::Load(wxString libname, int flags)
{
wxASSERT_MSG(m_handle == 0, _T("Library already loaded."));
- if( !(flags & wxDL_VERBATIM) )
- libname += GetDllExt();
+ // add the proper extension for the DLL ourselves unless told not to
+ if ( !(flags & wxDL_VERBATIM) )
+ {
+ // and also check that the libname doesn't already have it
+ wxString ext;
+ wxFileName::SplitPath(libname, NULL, NULL, &ext);
+ if ( ext.empty() )
+ {
+ libname += GetDllExt();
+ }
+ }
#if defined(__WXMAC__) && !defined(__UNIX__)
FSSpec myFSSpec;
symbol = NSAddressOfSymbol( NSLookupAndBindSymbol( name.c_str() ) );
#elif defined(__WINDOWS__)
- symbol = ::GetProcAddress( m_handle, name.c_str() );
+ symbol = (void*) ::GetProcAddress( m_handle, name.mb_str() );
#else
#error "runtime shared lib support not implemented"
wxDLImports wxPluginLibrary::ms_classes(wxKEY_STRING);
-wxPluginLibrary::wxPluginLibrary(const wxString &libname, wxDLFlags flags)
+wxPluginLibrary::wxPluginLibrary(const wxString &libname, int flags)
: m_linkcount(1)
, m_objcount(0)
{
// Static accessors
// ------------------------
-wxPluginLibrary *wxPluginManager::LoadLibrary(const wxString &libname, wxDLFlags flags)
+wxPluginLibrary *wxPluginManager::LoadLibrary(const wxString &libname, int flags)
{
wxString realname(libname);
// Class implementation
// ------------------------
-bool wxPluginManager::Load(const wxString &libname, wxDLFlags flags)
+bool wxPluginManager::Load(const wxString &libname, int flags)
{
m_entry = wxPluginManager::LoadLibrary(libname, flags);
return IsLoaded();