// Created: 20/07/98
// RCS-ID: $Id$
// Copyright: (c) Guilhem Lavaux
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
m_handle = handle;
// Some system may use a local heap for library.
- get_first = (t_get_first)GetSymbol("wxGetClassFirst");
+ get_first = (t_get_first)GetSymbol(_T("wxGetClassFirst"));
// It is a wxWindows DLL.
if (get_first)
PrepareClasses(get_first());
CFragSymbolClass symClass;
Str255 symName;
-#if TARGET_CARBON
- c2pstrcpy( (StringPtr) symName, name );
-#else
- strcpy( (char *) symName, name );
- c2pstr( (char *) symName );
-#endif
+ wxMacStringToPascal( name.c_str() , symName ) ;
+
if( FindSymbol( ((CFragConnectionID)dllHandle), symName, &symAddress, &symClass ) == noErr )
symbol = (void *)symAddress;
#elif defined(__WXPM__) || defined(__EMX__)
wxDllGetSymbol(dllHandle, symbol);
-#else
+#else // Windows or Unix
+
// mb_str() is necessary in Unicode build
- symbol = wxDllGetSymbol(dllHandle, name.mb_str());
+ //
+ // "void *" cast is needed by gcc 3.1 + w32api 1.4, don't ask me why
+ symbol = (void *)wxDllGetSymbol(dllHandle, name.mb_str());
-#endif
+#endif // OS
if ( !symbol )
{
- wxString msg(_("wxDllLoader failed to GetSymbol '%s'"));
-
#ifdef HAVE_DLERROR
const wxChar *err = dlerror();
if( err )
{
- failed = TRUE;
- wxLogError( msg, err );
+ wxLogError(wxT("%s"), err);
}
#else
failed = TRUE;