// ---------------------------------------------------------------------------
 
 #if defined(__WXPM__) || defined(__EMX__)
-    const wxChar *wxDynamicLibrary::ms_dllext = _T(".dll");
+    const wxString wxDynamicLibrary::ms_dllext(_T(".dll"));
 #elif defined(__WXMAC__) && !defined(__DARWIN__)
-    const wxChar *wxDynamicLibrary::ms_dllext = wxEmptyString;
+    const wxString wxDynamicLibrary::ms_dllext; // empty string
 #endif
 
 // for MSW/Unix it is defined in platform-specific file
 
 #elif defined(__WXPM__) || defined(__EMX__)
     char err[256] = "";
-    DosLoadModule(err, sizeof(err), (PSZ)libname.c_str(), &m_handle);
+    DosLoadModule(err, sizeof(err), libname.c_str(), &m_handle);
 #else // this should be the only remaining branch eventually
     m_handle = RawLoad(libname, flags);
 #endif
     if( FindSymbol( m_handle, symName, &symAddress, &symClass ) == noErr )
         symbol = (void *)symAddress;
 #elif defined(__WXPM__) || defined(__EMX__)
-    DosQueryProcAddr( m_handle, 1L, (PSZ)name.c_str(), (PFN*)symbol );
+    DosQueryProcAddr( m_handle, 1L, name.c_str(), (PFN*)symbol );
 #else
     symbol = RawGetSymbol(m_handle, name);
 #endif