为什么不能调用ActiveX控件的接口中的方法解决思路

为什么不能调用ActiveX控件的接口中的方法
在工程中Import   "../MyActiveX.ocx "  
然后
CComPtr <_DMyActiveX>   m_pActiveX;

pActiveX-> CoCreateInstance(__uuid(MyActiveX));
创建成功了
但是接着调用接口中的方法会出错
pActiveX-> DoSomeThing();

Unhandled   exception   at   0x7c812a5b   in   tryDlg.exe:   Microsoft   C++   exception:   _com_error   at   memory   location   0x0012f354..

没有调到控件的函数中去

但是在生成的tlh文件中可以看到定义的方法
请问这是为什么?



------解决方案--------------------
是不是初始化不对,在检查一下你的程序吧.
------解决方案--------------------
构造函数都跟进去了,那不会跟到你那个DoSomeThing()里面去,看看是哪里出问题
------解决方案--------------------
建议将些方法删除,再添加。
------解决方案--------------------
那你一定用错了!

你是在AciveX控件工程中使用它的方法,还是在其它工程使用此控件方法啊?好像有点糊涂了!

在AciveX控件工程中使用此方法,你可以直接对Ctrl类对像进行操作;
如果在其它工程使用的话,你要如此这般:
1、注册控件;
2、在你的工程中的对话框中,插入对应的控件;
3、在对话框上为控件添加一控件变量,这时VC会帮你生成控件对应的类;
4、在对话框中可以操作控件变量了!
------解决方案--------------------
::CoInitinstance();了吗?
如果的你的ACtivex是一个控件,需要画到窗体上的,如果没有父窗口,就不执行了
------解决方案--------------------
http://support.microsoft.com/kb/195188
------解决方案--------------------
会不会是因为某些初始化实在控件的OnCreate之类的函数里面做的,所以需要先创建控件才行,在对话框里调用时,对话框替你创建好控件了已经