diff dwt/ole/win32/OleAutomation.d @ 284:bb89fd34ec82

Fix for OLE functionality. Thanks to Enzo Petrelli
author Frank Benoit <benoit@tionex.de>
date Wed, 20 Aug 2008 15:20:55 +0200
parents fd9c62a2998e
children
line wrap: on
line diff
--- a/dwt/ole/win32/OleAutomation.d	Fri Aug 08 15:19:05 2008 +0200
+++ b/dwt/ole/win32/OleAutomation.d	Wed Aug 20 15:20:55 2008 +0200
@@ -260,17 +260,17 @@
             data.args[i].name = names[i + 1];
         }
         short[1] vt;
-        COM.MoveMemory(vt.ptr, funcdesc.lprgelemdescParam + i * 16 + 4, 2);
+        COM.MoveMemory(vt.ptr, (cast(void*)funcdesc.lprgelemdescParam) + i * 16 + 4, 2);
         if (vt[0] is OLE.VT_PTR) {
             int[1] pTypedesc;
-            COM.MoveMemory(pTypedesc.ptr, funcdesc.lprgelemdescParam + i * 16, 4);
+            COM.MoveMemory(pTypedesc.ptr, (cast(void*)funcdesc.lprgelemdescParam) + i * 16, 4);
             short[1] vt2;
             COM.MoveMemory(vt2.ptr, pTypedesc[0] + 4, 2);
             vt[0] = cast(short)(vt2[0] | COM.VT_BYREF);
         }
         data.args[i].type = vt[0];
         short[1] wParamFlags;
-        COM.MoveMemory(wParamFlags.ptr, funcdesc.lprgelemdescParam + i * 16 + 12, 2);
+        COM.MoveMemory(wParamFlags.ptr, (cast(void*)funcdesc.lprgelemdescParam) + i * 16 + 12, 2);
         data.args[i].flags = wParamFlags[0];
     }