Hi Jan,

Thanks. Are there any perl modules to solve this problem?

Regards,

Like

----- Original Message ----- From: "Jan Dubois" <[EMAIL PROTECTED]>
To: "'Like Ma'" <[EMAIL PROTECTED]>
Cc: <[email protected]>
Sent: Tuesday, May 09, 2006 6:38 AM
Subject: RE: How to query interface by Win32::OLE.


On Sat, 06 May 2006, Like Ma wrote:
Hi Jan,

I am sure that it does. I can call the methods of IJob, but I can't
call any method of ISourceCollection. Is there a method in Win32::OLE
like QueryInterface in C++ ?

There is an undocumented QueryInterface method in Win32::OLE but it
will not do you any good unless you are dealing with a seriously
broken COM object.  It will query the IDispatch interface for an
IID, but then will have to perform another QueryInterface to get
the IDispatch interface again.  If the object properly conforms to
COM rules, then it will just return the original IDispatch interface
again, and you are back where you started.

I think your ISourceCollection interface is simply not OLE Automation
compatible.  There is a reason the module is called Win32::OLE and
not Win32::COM.  You *cannot* access arbitrary COM interfaces,
only IDispatch.

Cheers,
-Jan


_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to