我在写一个MFC ActiveX控件时,遇到了一个问题,这个问题是:我首先写了一个命令行应用程序进行调试,并且调试通过成功,然后我把同样的代码拷贝到MFC ActiveX控件里之后,进行编译调用控件而得到的结果总是不正确,并且返回的值总是不正确,我让它强制返回1,而调用控件得到的返回值是221812,我不知道这是怎么回事??想请教一下,命令行应用程序和MFC ActiveX有什么区别吗??是不是编译环境的问题??请各位高手帮帮我这个忙吧!!我现在非常急需用到的,在此非常感谢了!!!

解决方案 »

  1.   

    COM系统需要初始化,有可能你没有作初始化============================================================================
    DocWizard C++ 程序文档生成工具 http://www.betajin.com/alphasun/index.htm
      

  2.   

    请 alphapaopao(炮炮) 能否说的更清楚一些,怎样对MFC ActiveX进行初始化操作的??感谢了!!
      

  3.   

    ActiveX是应用程序的子集,注意不一定是真子集哦!
      

  4.   

    “真子集”
    A < B
    A != B初始化有好多函数
    CoInitilaize()
    AfxOleInit()  #include <afxdisp.h>
      

  5.   

    但我的ActiveX控件里面有这个初始化函数CoInitilaize() #include <afxdisp.h>呀,这又是怎么回事呀??请alphapaopao(炮炮)给我赐教!!!
      

  6.   

    ActiveX控件最好 还是用 mfc做最好
      

  7.   

    既然有 CoInitilaize() ,那么看来是别的问题。
    你的接口是dispatch的还是 com 原始接口?另外,你可以写一个没有任何功能的,只是返回 1  的函数,试验一下