X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00711afdd67f3e804f00f44da1fc60d5904bb61e..713129f9d34e3027d2be46b134d2f4c490ad145f:/src/msw/dlmsw.cpp diff --git a/src/msw/dlmsw.cpp b/src/msw/dlmsw.cpp index 7faff796a5..25700c5cdb 100644 --- a/src/msw/dlmsw.cpp +++ b/src/msw/dlmsw.cpp @@ -28,7 +28,7 @@ #include "wx/msw/private.h" #include "wx/msw/debughlp.h" -const wxString wxDynamicLibrary::ms_dllext(_T(".dll")); +const wxString wxDynamicLibrary::ms_dllext(wxT(".dll")); // ---------------------------------------------------------------------------- // private classes @@ -65,7 +65,7 @@ private: wxDynamicLibrary m_dll; - DECLARE_NO_COPY_CLASS(wxVersionDLL) + wxDECLARE_NO_COPY_CLASS(wxVersionDLL); }; // class used to create wxDynamicLibraryDetails objects @@ -121,9 +121,9 @@ HMODULE wxGetModuleHandle(const char *name, void *addr) static GetModuleHandleEx_t s_pfnGetModuleHandleEx = INVALID_FUNC_PTR; if ( s_pfnGetModuleHandleEx == INVALID_FUNC_PTR ) { - wxDynamicLibrary dll(_T("kernel32.dll"), wxDL_VERBATIM); + wxDynamicLibrary dll(wxT("kernel32.dll"), wxDL_VERBATIM); s_pfnGetModuleHandleEx = - (GetModuleHandleEx_t)dll.RawGetSymbol(_T("GetModuleHandleExA")); + (GetModuleHandleEx_t)dll.RawGetSymbol(wxT("GetModuleHandleExA")); // dll object can be destroyed, kernel32.dll won't be unloaded anyhow } @@ -139,9 +139,12 @@ HMODULE wxGetModuleHandle(const char *name, void *addr) } // Windows CE only has Unicode API, so even we have an ANSI string here, we - // still need to use GetModuleHandleW() there and so do it everywhere to - // avoid #ifdefs -- this code is not performance-critical anyhow... - return ::GetModuleHandle(wxString::FromAscii((char *)name)); + // still need to use GetModuleHandleW() there +#ifdef __WXWINCE__ + return ::GetModuleHandleW(wxConvLibc.cMB2WC(name).data()); +#else + return ::GetModuleHandleA((char *)name); +#endif } // ============================================================================ @@ -158,7 +161,7 @@ wxVersionDLL::wxVersionDLL() // handle it wxLogNull noLog; - if ( m_dll.Load(_T("version.dll"), wxDL_VERBATIM) ) + if ( m_dll.Load(wxT("version.dll"), wxDL_VERBATIM) ) { // the functions we load have either 'A' or 'W' suffix depending on // whether we're in ANSI or Unicode build @@ -169,7 +172,7 @@ wxVersionDLL::wxVersionDLL() #endif // UNICODE/ANSI #define LOAD_VER_FUNCTION(name) \ - m_pfn ## name = (name ## _t)m_dll.GetSymbol(_T(#name SUFFIX)); \ + m_pfn ## name = (name ## _t)m_dll.GetSymbol(wxT(#name SUFFIX)); \ if ( !m_pfn ## name ) \ { \ m_dll.Unload(); \ @@ -191,7 +194,7 @@ wxString wxVersionDLL::GetFileVersion(const wxString& filename) const wxString ver; if ( m_dll.IsLoaded() ) { - wxChar *pc = wx_const_cast(wxChar *, filename.wx_str()); + wxChar *pc = const_cast((const wxChar*) filename.t_str()); DWORD dummy; DWORD sizeVerInfo = m_pfnGetFileVersionInfoSize(pc, &dummy); @@ -202,10 +205,13 @@ wxString wxVersionDLL::GetFileVersion(const wxString& filename) const { void *pVer; UINT sizeInfo; - if ( m_pfnVerQueryValue(buf.data(), _T("\\"), &pVer, &sizeInfo) ) + if ( m_pfnVerQueryValue(buf.data(), + const_cast(wxT("\\")), + &pVer, + &sizeInfo) ) { VS_FIXEDFILEINFO *info = (VS_FIXEDFILEINFO *)pVer; - ver.Printf(_T("%d.%d.%d.%d"), + ver.Printf(wxT("%d.%d.%d.%d"), HIWORD(info->dwFileVersionMS), LOWORD(info->dwFileVersionMS), HIWORD(info->dwFileVersionLS), @@ -236,11 +242,11 @@ wxDynamicLibraryDetailsCreator::EnumModulesProc(NameStr_t name, // fill in simple properties details->m_name = wxString::FromAscii(name); - details->m_address = wx_reinterpret_cast(void *, base); + details->m_address = wxUIntToPtr(base); details->m_length = size; // to get the version, we first need the full path - HMODULE hmod = wxGetModuleHandle(name, (void *)base); + HMODULE hmod = wxGetModuleHandle(name, details->m_address); if ( hmod ) { wxString fullname = wxGetFullModuleName(hmod); @@ -276,9 +282,11 @@ wxDllType wxDynamicLibrary::GetProgramHandle() /* static */ wxDllType -wxDynamicLibrary::RawLoad(const wxString& libname, int WXUNUSED(flags)) +wxDynamicLibrary::RawLoad(const wxString& libname, int flags) { - return ::LoadLibrary(libname); + return flags & wxDL_GET_LOADED + ? ::GetModuleHandle(libname.t_str()) + : ::LoadLibrary(libname.t_str()); } /* static */ @@ -325,7 +333,7 @@ wxDynamicLibraryDetailsArray wxDynamicLibrary::ListLoaded() ¶ms ) ) { - wxLogLastError(_T("EnumerateLoadedModules")); + wxLogLastError(wxT("EnumerateLoadedModules")); } } #endif // wxUSE_DBGHELP