作为一个刚毕业半年的妹子,这几天差点被一个上位机程序搞懵了。。。所以解决了之后立马来存一存。前两天同事让帮忙写了一个上位机测试软件,刚开始在我们这边测试时都是很顺利的,后来发给客户使用时就发生了一些问题。
首先出现的错误就是客户的上位机软件只要一点击连接232串口就会报错然后崩掉,如下图:
由于客户的电脑并不是开发者电脑,于是怀疑客户的电脑里没有串口控件,然后写了批处理文件让他在电脑里注册了MSCOMM32.OCX,下面是.bat文件里的内容:
regsvr32 MSCOMM32.OCX
copy MSCOMM32.OCX %WINDIR%\system32
目的就是把OCX文件注册到C:\WINDOWS\system32路径下,当然客户的电脑是XP 32位系统,如果是64位系统路径就不一样了。
问题是这样还是不!行!
然后我将编译环境从debug改成了release,然后直接将.exe运行文件发给客户,这下客户可以连接电脑了,也就是点击连接不报错了,但是后面悲催地发现并不能用。。。也就是说串口并不能向下发送数据控制下位机。。。
二次元懵。。。
然后迫不得已就只有检查程序了。。然后发现在程序里面串口的对象是直接通过create的方式进行主动创建的,于是我猜测这样就会造成打包给别人时串口控件是直接根据用户电脑系统里的控件进行创建的,有可能会和我的程序发生不兼容的情况。于是,我直接在界面上通过工具箱导入控件的方法创建串口对象,然后重新编译了之后解决了问题。。。感人。。。