Calling COM component method from IBM Notes 9 fails
When calling a 32 bit COM component method registered in sysWOW64 fails
with an error message:
"type mismatch in method OleVarToLsVal, Unknown found, Unknown expected"
Its win7 64 bit, but the Notes client is installed by default as a 32 bit
application. The code looks like:
dim c as Variant
dim n as Variant
set c = createobject("MSWC.counters")
n = c.Get("xx")
When debugging the call, the object is set and testable with
"isObject(c)", (although you can't inspect each method/property in detail
in LotusScript debug).
The method is supposed to return a primitive long. I've tried setting n as
long, clng-ing the values, cstr-ing the values, the parameter, strconv the
parameter, using a variable for the parameter, all to no avail.
The exact same code run by WScript VBS host (in syswow64) runs the code as
expected.
So, does anybody know:
If Notes 9 COM value marshalling is working for any components?
Is Notes 9 COM set to recognize the 'wow64' alternate 32 bit registry
Are there some COM related marshalling settings somewhere in the registry
I can check (if so what/where are they)?
Is there some setting to tell Notes to use 32 bit components (like IIS
32bit compatibility option)
Is there anything I need to do or could do in the main OS to 'redirect or
configure' COM
Or is Notes just broken again and nobody cares?
Any help appreciated - Thanks.
No comments:
Post a Comment