You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2012/08/06 13:33:33 UTC
[Bug 120470] New: DISPATCH_PROPERTYGET is called instead of
DISPATCH_METHOD when calling an OLE object's method form OO Basic
https://issues.apache.org/ooo/show_bug.cgi?id=120470
Priority: P3
Bug ID: 120470
Assignee: ooo-issues@incubator.apache.org
Summary: DISPATCH_PROPERTYGET is called instead of
DISPATCH_METHOD when calling an OLE object's method
form OO Basic
Severity: major
Issue Type: DEFECT
Classification: Code
OS: Windows, all
Reporter: roman@strokescribe.com
Hardware: PC
Status: UNCONFIRMED
Version: OOo 3.4 Beta
Component: www
Product: udk
When trying to call a method from OLE object created by
createUnoService().createInstance(), a PropertyGet is really executed instead
of method.
For example, when calling oleobj.Z(), IDispatch::Invoke receives dispid=3 of
ShowText with flags=DISPATCH_PROPERTYGET.
If we will change the interface sample a little and place [id(35)] VARIANT Z
before [id(33)], the AlphabetGet will be called instead.
If the the count of properties in interface definition is smaller than the
position of Z in the list of methods, Z() is correctly executed. This happens
when ShowText property definition is removed.
dispinterface _DTestClass
{
properties:
[id(1)] enumAlphabet Alphabet;
[id(2)] VARIANT Text;
[id(3)] boolean ShowText;
methods:
[id(33)] long SavePicture(BSTR fileName, enumFormats format);
[id(34)] BSTR EanCheckDigit(BSTR text);
[id(35)] VARIANT Z(enumFormats format, long width, long height);
};
--
You are receiving this mail because:
You are the assignee for the bug.