Changeset 284:bb89fd34ec82
- 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
| r246 |
r284 |
|
| 261 | 261 | } |
|---|
| 262 | 262 | 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); |
|---|
| 264 | 264 | if (vt[0] is OLE.VT_PTR) { |
|---|
| 265 | 265 | 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); |
|---|
| 267 | 267 | short[1] vt2; |
|---|
| 268 | 268 | COM.MoveMemory(vt2.ptr, pTypedesc[0] + 4, 2); |
|---|
| … | … | |
| 271 | 271 | data.args[i].type = vt[0]; |
|---|
| 272 | 272 | 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); |
|---|
| 274 | 274 | data.args[i].flags = wParamFlags[0]; |
|---|
| 275 | 275 | } |
|---|
| r246 |
r284 |
|
| 152 | 152 | // install the Ole Frame for this Client Site |
|---|
| 153 | 153 | while (parent !is null) { |
|---|
| 154 | | if ( auto frame = cast(OleFrame)parent){ |
|---|
| 155 | | frame = frame; |
|---|
| | 154 | if ( auto aframe = cast(OleFrame)parent){ |
|---|
| | 155 | frame = aframe; |
|---|
| 156 | 156 | break; |
|---|
| 157 | 157 | } |
|---|
| … | … | |
| 934 | 934 | if (riid is null || ppvObject is null) |
|---|
| 935 | 935 | 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); |
|---|
| 938 | 939 | |
|---|
| 939 | 940 | if (COM.IsEqualGUID(guid, &COM.IIDIUnknown)) { |
|---|
| r246 |
r284 |
|
| 619 | 619 | if (riid is null || ppvObject is null) |
|---|
| 620 | 620 | 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); |
|---|
| 623 | 624 | if (COM.IsEqualGUID(guid, &COM.IIDIOleControlSite)) { |
|---|
| 624 | 625 | *ppvObject = cast(void*)cast(IOleControlSite)iOleControlSite; |
|---|