diff options
Diffstat (limited to 'Windows/ResourceString.cpp')
-rwxr-xr-x | Windows/ResourceString.cpp | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/Windows/ResourceString.cpp b/Windows/ResourceString.cpp index b327298d..48dd4936 100755 --- a/Windows/ResourceString.cpp +++ b/Windows/ResourceString.cpp @@ -8,6 +8,9 @@ #endif extern HINSTANCE g_hInstance; +#ifndef _UNICODE +extern bool g_IsNT; +#endif namespace NWindows { @@ -20,7 +23,8 @@ CSysString MyLoadString(UINT resourceID) { size += 256; len = ::LoadString(g_hInstance, resourceID, s.GetBuffer(size - 1), size); - } while (size - len <= 1); + } + while (size - len <= 1); s.ReleaseBuffer(); return s; } @@ -28,23 +32,22 @@ CSysString MyLoadString(UINT resourceID) #ifndef _UNICODE UString MyLoadStringW(UINT resourceID) { - UString s; - int size = 256; - int len; - do + if (g_IsNT) { - size += 256; - len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size); - if (len == 0) + UString s; + int size = 256; + int len; + do { - if (::GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) - break; - return GetUnicodeString(MyLoadString(resourceID)); - } - } while (size - len <= 1); - s.ReleaseBuffer(); - return s; + size += 256; + len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size); + } + while (size - len <= 1); + s.ReleaseBuffer(); + return s; + } + return GetUnicodeString(MyLoadString(resourceID)); } #endif -}
\ No newline at end of file +} |