在用ATL写ActiveX的开发过程中,怎么删除一个方法?比如说我的一个输入参数的类型错了,在改的时候,总是编译错误,我就想直接删除它。然后重新写一个方法。

解决方案 »

  1.   

    如果你的控件工程名叫: myctrl,那么你添加的方法有个原型在myctrl.h文件里面,
    比如这样的
    [id(10), helpstring("method fun")] HRESULT fun([in]long a,[out,retval]long *ret);
    10表示是你添加的的第10个属性或者方法,你可以直接删除这一行,然后再删除你的实现文件中的fun
    方法的声明和函数体. 还有一个问题,如果你在此方法后面还有id号大于10的属性和方法,最好是将
    他们的序号依次改小一个号,11改成10,12改成11,然后重新编译整个控件.而且你的使用此控件的应用
    程序也要重新编译.我用的是VB做控件测试程序,它调用控件的方法好象是根据这个ID号来调的,如果你
    删除一个,位置就串了,原来的调用就会失败,所以必须重新编译VB程序才能调用其他的方法.我好象很啰嗦哈,其实你是想改参数嘛,只要改上面那一行就可以啦哈,不用删除的
      

  2.   

    小哥你说的是用MFC开发ActiveX的情况吧?兄弟我说的是用ATL开发AtiveX的时候。