#include "wx/filefn.h"
 #include "wx/filename.h"        // for SplitPath()
-#include "wx/apptrait.h"
+#include "wx/platinfo.h"
 
 #include "wx/arrimpl.cpp"
 
 // ---------------------------------------------------------------------------
 
 #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
     wxString suffix;
     if ( cat == wxDL_PLUGIN_GUI )
     {
-        wxAppTraits *traits = wxAppConsole::GetInstance() ?
-                              wxAppConsole::GetInstance()->GetTraits() : NULL;
-        wxCHECK_MSG( traits, wxEmptyString,
-                     _("can't query for GUI plugins name in console applications") );
-        suffix = traits->GetToolkitInfo().shortName;
+        suffix = wxPlatformInfo::Get().GetPortIdShortName();
     }
 #if wxUSE_UNICODE
     suffix << _T('u');