我在一个自定义类中编写了如下代码
Public Function OpenCom(ByVal ComNo As Long, sSetting As String) As Boolean
Set com = CreateObject("MSCommLib.MSComm")
com.CommPort = ComNo
com.Settings = sSetting
com.PortOpen = True
End Function执行源代码正常,在写程序的电脑上用生成的可执行程序也可以正常运行。
制作成安装包后复制到其他计算机安装后,会提示如标题所示错误。经过反复验证,判断安装了VB6开发环境的机器都可以正常运行。
如果没有安装vb6,那使用VB打包工具打出的安装包也无法正常使用。
在网上找了几种办法,如注册dao350.dll,scrrun.dll等均无法解决该问题。
求教,准确的原因及解决办法,是哪个或哪些文件导致了这个问题?如何才能在不装vb6的情况下解决此事?
Public Function OpenCom(ByVal ComNo As Long, sSetting As String) As Boolean
Set com = CreateObject("MSCommLib.MSComm")
com.CommPort = ComNo
com.Settings = sSetting
com.PortOpen = True
End Function执行源代码正常,在写程序的电脑上用生成的可执行程序也可以正常运行。
制作成安装包后复制到其他计算机安装后,会提示如标题所示错误。经过反复验证,判断安装了VB6开发环境的机器都可以正常运行。
如果没有安装vb6,那使用VB打包工具打出的安装包也无法正常使用。
在网上找了几种办法,如注册dao350.dll,scrrun.dll等均无法解决该问题。
求教,准确的原因及解决办法,是哪个或哪些文件导致了这个问题?如何才能在不装vb6的情况下解决此事?
个人认为,如果你是写类,那么最好不要使用MSComm控件,建议你用API来实现串口通信,那样就不会有楼主所说的问题了。API实现串口通信参考
另外建议不要用vb自带的打包工具,推荐innosetup或installshield。
worldy:我是自定义的dll,没有窗体。
Veron_04:API方式用的不熟,我会考虑看看,但是现在的原因我还是想研究一下。除了想解决问题之外,我还想找到最终是哪个文件导致的。
我打包是用的setup2go,需要的文件使用VB打包工具提取的。如果知道是什么原因,用什么工具打包应该都不成问题。我会尝试换个工具看看。
如果我在同样是sp2的电脑上编译,则在其他SP2的机器上就可以运行。
虽然还没有找到具体是哪个文件,但我想可以确认是因为某个系统组件不同造成的。