ActiveState Community

How can I use COM object that not implement IDispatch?

Posted by umb365 on 2009-08-03 01:42

Hi all. My OS is winXP, TCL version is 8.4.7.0.
I want to use a commercial COM in my TCL script.
Following code is the simplest way:

==============================
package require tcom
set application [::tcom::ref createobject "SRMCls"]
$application connect
------------------------------
An error present:
object does not implement IDispatch
while executing
"$application connect"
==============================

I use oleview.exe inspecting the COM object ---- a DLL file, and find out that there is no "IDispatch" in it.
I read out the Type libary information in the oleview, and found:
importlib("STDOLE2.TLB");
.
So, I think the COM object maybe is implemented the IDispatch via the STDOLE2.TLB (or sth.).

The question is: Can I use this COM object in TCL?

Thank you so much.