Mercurial > projects > dwt-win
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]; }