例子可从此处下载:http://202.103.188.99/test/render.zip
问题很简明,示例中实现了一个CBehavior类,同此相对应有IBehavior接口,我想在中IBehavior添加一个函数,比如HRESULT Test(long* lp);使得外部可以通过此接口访问。但我在IBehavior中用AddMethod不行,请高手帮忙解决,最好在示例中自己试一下,解决后告诉我方法。工程中的其它东西不需要关心,我只想知道如果给IBehavior添加一个外部可以访问的函数。谢谢。
问题很简明,示例中实现了一个CBehavior类,同此相对应有IBehavior接口,我想在中IBehavior添加一个函数,比如HRESULT Test(long* lp);使得外部可以通过此接口访问。但我在IBehavior中用AddMethod不行,请高手帮忙解决,最好在示例中自己试一下,解决后告诉我方法。工程中的其它东西不需要关心,我只想知道如果给IBehavior添加一个外部可以访问的函数。谢谢。
否则就手工加,分别在.idl、.h、.cpp中依葫芦画瓢照做就是了
① 用AddMethod向导添加一个方法,并手动在起实现类CBehavior中添加方法和方法的实现;
② 如果你想偷懒的话,用AddMethod向导添加一个方法,并重新使用工具生成CBehavior类。(用这样的方法往往在创建只初有效,如果你已经在CBehavior中写了大量的实现代码,用这样的方法也许并不合适:)OVER~ ^_^
我试过你这们的方法,编译什么的都没问题,就是在外面用的时候提示说对象不支持此属性或方法,可见并没有公布出来,我又在CBehavior中Implement Interface,选择IBehavior,也不行,我都懵了。各位不妨把这个工程下载自己试试,我没做过ATL,不懂什么原理。如果能解决,不胜感激,多少分都成。