updated for version 7.0e01
diff --git a/src/GvimExt/gvimext.cpp b/src/GvimExt/gvimext.cpp
index c204a0c..dbd769a 100644
--- a/src/GvimExt/gvimext.cpp
+++ b/src/GvimExt/gvimext.cpp
@@ -103,7 +103,7 @@
 	    strcpy(buf, searchpath(buf));
 
 	// remove "gvim.exe" from the end
-	for (idx = strlen(buf) - 1; idx >= 0; idx--)
+	for (idx = (int)strlen(buf) - 1; idx >= 0; idx--)
 	    if (buf[idx] == '\\' || buf[idx] == '/')
 	    {
 		buf[idx + 1] = 0;
@@ -279,7 +279,7 @@
     getRuntimeDir(szBuff);
     if (szBuff[0] != 0)
     {
-	len = strlen(szBuff);
+	len = (DWORD)strlen(szBuff);
 	if (dyn_libintl_init(szBuff))
 	{
 	    strcpy(szBuff + len, "lang");
@@ -740,7 +740,7 @@
     return NOERROR;
 }
 
-STDMETHODIMP CShellExt::GetCommandString(UINT idCmd,
+STDMETHODIMP CShellExt::GetCommandString(UINT_PTR idCmd,
 					 UINT uFlags,
 					 UINT FAR *reserved,
 					 LPSTR pszName,
diff --git a/src/GvimExt/gvimext.h b/src/GvimExt/gvimext.h
index d688073..c0e39cb 100644
--- a/src/GvimExt/gvimext.h
+++ b/src/GvimExt/gvimext.h
@@ -43,6 +43,12 @@
 #include <windowsx.h>
 #include <shlobj.h>
 
+/* Accommodate old versions of VC that don't have a modern Platform SDK */
+#if _MSC_VER < 1300
+#undef  UINT_PTR
+#define UINT_PTR UINT
+#endif
+
 #define ResultFromShort(i)  ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i)))
 
 // Initialize GUIDs (should be done only and at-least once per DLL/EXE)
@@ -152,7 +158,7 @@
 
     STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
 
-    STDMETHODIMP GetCommandString(UINT idCmd,
+    STDMETHODIMP GetCommandString(UINT_PTR idCmd,
 	    UINT uFlags,
 	    UINT FAR *reserved,
 	    LPSTR pszName,