呵呵,不好意思,这段时间有事.
现在公布了,记得给分啊:
假如你原来的ActiveXForm是 afx1,对应的接口是Iafx1,对应的事件接口是Iafx1Events,
对应的pas文件是afx1Impl1.pas,对应的form文件是afx1Impl1.dfm
1.现在你新建一个ActiveXForm 假如叫afx2,自动生成了对应的接口是Iafx2,对应的事件
接口是Iafx2Events,对应的接口文件是afx2Impl1.pas,对应的form文件是afx2Impl1.dfm
2.关闭工程文件,单独打开afx1Impl1.pas,然后另存为afx2Impl1.pas,然后把Form的Name改为afx2
3.单独打开新的afx2Impl1.pas文件(其实就是你原来的ActiveXForm的pas文件),查找所有
引用或调用到Iafx1的地方,修改为Iafx2,查找所有引用或调用到Iafx1Events的地方,
修改为Iafx2Events,一般修改到的地方非常少,好象就3个地方
4.如果你的两个ActiveX不在一个Type Library里,你需要更改uses里对应的新的Iafx2
的Type Library的Pas文件也就是 **_TLB.pas
5.如果你在原有AciveXForm里申明了大量的接口方法,那要么你对Iafx2重新加入那些
接口方法(一般ActiveX实在是没有什么必要申明接口的方法,又不是RemoteDataModule),
如果你真的写了很多方法而且很懒,那就让你的新的AciveXForm同时实现Iafx2和Iafx1
接口吧,比如写成 Tafx2 = class(TActiveForm, Iafx2,Iafx1),注意这时候如果你更改
Iafx1接口的方法,Tafx2不会自动变化,你需要手工同步代码的变化.
好了这样一来就搞定了,是不是比代码复制啊什么的简单得多
最后记得开贴给分啊!