我用vb做了个dll,版本为1。00,打包安装后可正常运行。后来经修改后编译为2。00,打包安装在另一个目录下,结构新的可正常运行,先前安装的却运行不了,出来"Class doesn't support Automation "的提示,请教高人如何解决这个问题。
解决方案 »
- 关于字符串连接问题(实为数据库连接)
- Vb中的事务问题?还有三层结构的问题(我觉得很高深的问题,我问过好几个人了,都没有详细的回答)
- VB种如何判断一张表是否存在?
- 强烈鄙视在csdn上索要毕业设计的人
- 请问大哥们!怎样在inputbox函数的输入提示中引用 变量, 显示出变量的值 ??在线等!谢谢
- 如何在Excel系统菜单中添加自定义菜单?高分求助!
- vb如何获取鼠标在excel中选中的范围
- 我的系统中为何没有microsoft script runtime啊???
- datacombo连接数据库问题
- 问一句sql语句,很简单的,送分
- vb复制txt中全部内容到execl,txt有1000行左右
- 关于引用了msado2.1.tlb后程序的发布问题
更多的内容可以搜索这方面的相关知识
Project菜单->Project Properties...->Componet->Version Compatibility选择Binary Compatibility,然后下面的文本框当中输入或者选择原来的DLL。
所以:
·将 1.0 和 2.0 的 dll 全部注销
·对 1.0 和 2.0 的源代码(应该是相互独立的吧)各自独立做如下操做
○两个工程的库名(工程名)必须不同
○删除已生成的 dll
○先不用二进制兼容,重新生成一个 dll
○用新的 dll 作为该版本的二进制兼容标准
这样生成的两个版本的 dll 在 tlbinfo 中实际上没有任何关联,完全是两个独立的 dll,所以可以并存使用。
经 save as 重新命名主程序和DLL,工程属性里的名称也全改了,编译时也改了相应的执行文件名称,再重新打包,还是不行啊。是不是DLL里的所有函数名称都要改名啊?
好象还是有问题。最后我找了台从未注册过该DLL的干净机子,重新编译打包才OK。