From 205d20baf6b03d49be5bb25eaa088a1b6c3c9379 Mon Sep 17 00:00:00 2001 From: clay_shooter <> Date: Mon, 22 Jun 2015 03:57:12 +0000 Subject: [PATCH] Patch #42 Mapping of names to dispIDs implemented --- jacob/docs/BuildingJacobFromSource.html | 13 +++++++------ jacob/docs/ReleaseNotes.html | 16 +++++++++++++++- jacob/jni/EventProxy.cpp | 22 +++++++++++++++++++++- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/jacob/docs/BuildingJacobFromSource.html b/jacob/docs/BuildingJacobFromSource.html index 9470f27..2c6f94e 100644 --- a/jacob/docs/BuildingJacobFromSource.html +++ b/jacob/docs/BuildingJacobFromSource.html @@ -38,10 +38,11 @@

Development Environment

In that situation, you would just create the compilation_tools.properties using the example at the top of build.xml as a template.

@@ -58,10 +59,10 @@

Development Environment

1.14VC 2005 (8)1.5.0 (49)1.7.03.332 and 64 bit 1.15VC 2005 (8)1.5.0 (49)1.7.03.432 and 64 bit 1.17VC 2005 (8)1.5.0 (49)1.8.4 Eclipse Embedded4.332 and 64 bit -1.18VS 2010 (10) Windows SDK VS2010 (7.0A)1.6.0 (50)1.8.4 Eclipse Embedded4.332 and 64 bit +1.18VS 2013 (12) Windows SDK 7.1A1.6.0 (50)1.8.4 Eclipse Embedded4.332 and 64 bit -Microsoft Visual Studio 10 supports 64 bit builds. so no additional tools are required.
+Microsoft Visual Studio 13 supports 64 bit builds. so no additional tools are required.
Microsoft changed the location of the windows sdk (formerly known as platform sdk) after VC 8.0. https://en.wikipedia.org/wiki/Microsoft_Windows_SDK

diff --git a/jacob/docs/ReleaseNotes.html b/jacob/docs/ReleaseNotes.html index fce25d6..d1e5259 100644 --- a/jacob/docs/ReleaseNotes.html +++ b/jacob/docs/ReleaseNotes.html @@ -6,7 +6,13 @@

JACOB 1.18

What's New

Tracked Changes

@@ -14,6 +20,10 @@

Tracked Changes

Bugs + + 119 (new numbers) + Attribute lacking in MANIFEST.MF required since Java 1.7u45 +     @@ -21,6 +31,10 @@

Tracked Changes

Patches + + 42 (new numbers) + Mapping of names to dispIDs implemented +     diff --git a/jacob/jni/EventProxy.cpp b/jacob/jni/EventProxy.cpp index 023b316..7905413 100644 --- a/jacob/jni/EventProxy.cpp +++ b/jacob/jni/EventProxy.cpp @@ -125,10 +125,30 @@ STDMETHODIMP EventProxy::QueryInterface(REFIID rid, void **ppv) // This should never get called - the event source fires events // by dispid's, not by name +// But however sometimes it is called, so do the mapping as defined +// by the API Patch #42 provided by abp-futura STDMETHODIMP EventProxy::GetIDsOfNames(REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgDispID) { - return E_UNEXPECTED; + HRESULT result = S_OK; + for (UINT n = 0; n < cNames; n++) { + rgDispID[n] = DISPID_UNKNOWN; + USES_CONVERSION; + const char *current = W2A((OLECHAR *) rgszNames[n]); + // map name to dispID + for(int i=0; i