Changeset 284:bb89fd34ec82

Show
Ignore:
Timestamp:
08/20/08 09:20:55 (3 months ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

Fix for OLE functionality. Thanks to Enzo Petrelli

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/ole/win32/OleAutomation.d

    r246 r284  
    261261        } 
    262262        short[1] vt; 
    263         COM.MoveMemory(vt.ptr, funcdesc.lprgelemdescParam + i * 16 + 4, 2); 
     263        COM.MoveMemory(vt.ptr, (cast(void*)funcdesc.lprgelemdescParam) + i * 16 + 4, 2); 
    264264        if (vt[0] is OLE.VT_PTR) { 
    265265            int[1] pTypedesc; 
    266             COM.MoveMemory(pTypedesc.ptr, funcdesc.lprgelemdescParam + i * 16, 4); 
     266            COM.MoveMemory(pTypedesc.ptr, (cast(void*)funcdesc.lprgelemdescParam) + i * 16, 4); 
    267267            short[1] vt2; 
    268268            COM.MoveMemory(vt2.ptr, pTypedesc[0] + 4, 2); 
     
    271271        data.args[i].type = vt[0]; 
    272272        short[1] wParamFlags; 
    273         COM.MoveMemory(wParamFlags.ptr, funcdesc.lprgelemdescParam + i * 16 + 12, 2); 
     273        COM.MoveMemory(wParamFlags.ptr, (cast(void*)funcdesc.lprgelemdescParam) + i * 16 + 12, 2); 
    274274        data.args[i].flags = wParamFlags[0]; 
    275275    } 
  • dwt/ole/win32/OleClientSite.d

    r246 r284  
    152152    // install the Ole Frame for this Client Site 
    153153    while (parent !is null) { 
    154         if ( auto frame = cast(OleFrame)parent){ 
    155             frame = frame; 
     154        if ( auto aframe = cast(OleFrame)parent){ 
     155            frame = aframe; 
    156156            break; 
    157157        } 
     
    934934    if (riid is null || ppvObject is null) 
    935935        return COM.E_NOINTERFACE; 
    936     GUID* guid = new GUID(); 
    937     COM.MoveMemory(guid, riid, GUID.sizeof); 
     936    GUID oGuid = *riid; 
     937    GUID* guid = &oGuid; 
     938    //COM.MoveMemory(guid, riid, GUID.sizeof); 
    938939 
    939940    if (COM.IsEqualGUID(guid, &COM.IIDIUnknown)) { 
  • dwt/ole/win32/OleControlSite.d

    r246 r284  
    619619    if (riid is null || ppvObject is null) 
    620620        return COM.E_INVALIDARG; 
    621     GUID* guid; 
    622     COM.MoveMemory(&guid, riid, GUID.sizeof); 
     621    GUID oGuid = &riid; 
     622    GUID* guid = &oGuid; 
     623    //COM.MoveMemory(&guid, riid, GUID.sizeof); 
    623624    if (COM.IsEqualGUID(guid, &COM.IIDIOleControlSite)) { 
    624625        *ppvObject = cast(void*)cast(IOleControlSite)iOleControlSite;