Issue 46273 - oleautomation: components using properties may not work.
Summary: oleautomation: components using properties may not work.
Alias: None
Product: udk
Classification: Code
Component: code (show other issues)
Version: 680m89
Hardware: All All
: P3 Trivial (vote)
Target Milestone: AOO PleaseHelp
Assignee: AOO issues mailing list
QA Contact:
Depends on:
Reported: 2005-03-30 09:12 UTC by joachim.lingner
Modified: 2013-02-07 21:53 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description joachim.lingner 2005-03-30 09:12:05 UTC
It is possible to use automation server from OOo, for example from Basic. Using
these server may fail if  properties are called, which are implemented using IDL
properties. That is , these properties have an VARDESC entry in the TLB.

This should however only effect components prior to msdev 6. Now properties are
always represented by get & set methods which have FUNCDESC entries in the TLB.

To reproduce this, one needs a component that has this idl description

dispinterface _DRSComm
		[id(1)] long PropFoo;
		[id(32), propget] boolean Foo();

Calling PropFoo from Basic causes internally that the DISPID 32 is used which
belongs to Foo. 

This must be fixed in the function IUnknownWrapper_Impl::getPropDesc and 
IUnknownWrapper_Impl::buildComTlbIndex(). buildComTlbIndex shall use a second
map that only contains entries gathered from VARDESC descriptions. 

The functions are in extensions/source/ole/oleobjw.cxx.
Comment 1 joachim.lingner 2005-03-30 09:12:45 UTC