incubator-ooo-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 120470] New: DISPATCH_PROPERTYGET is called instead of DISPATCH_METHOD when calling an OLE object's method form OO Basic
Date Mon, 06 Aug 2012 11:33:33 GMT
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.

Mime
View raw message