用别人写的一个OCX控件的SDK开发一个接口。
SDK升级了,里面多了一个事件。
我使用regsvr 卸载控件后,重新使用regsvr安装控件。
在VS的工具栏重新加载控件,并绘制到窗口,。
可惜,自动生成的包装器文件,没有包装新加的那个事件,但是OCX源文件确实已经包含了那个事件(使用ole-object viewer查看)直接给予此文件包装的.netdll文件也有。
(OCX在绘入.net窗口后会自动生成两个.dll文件并加入项目的引用,一个是Interop.开通的,还有一个直接Ax开通的。后者是直接给予OCX文件的包装,前者是给予AxHost类的包装)
后来查阅资料,.net有工具直接生成包装器,即axim(windows forms activex control importer)工具,使用它直接生成上文所说的.net包装过的两个文件。重新导入项目引用,OK了!
不知道通过窗口直接绘制OCX控件,怎么就不能正确生成新的包装过的文件,总算旧文件,不知道是不是VS2005的一个BUG