用com口写ic卡程序,一旦出错,在此调用,就出错。如何在vb中关闭com端口?

解决方案 »

  1.   

    加上错误陷阱
    on error resume goto 1
    1:mscomm1.portopen=false
      

  2.   

    to  startvb(共同学习) 
    但是我用的是第三方的组件来打开端口的,其先天缺陷造成异常后无法关闭com口.
    用mscomm控件能将别的组件打开的端口关闭吗?
      

  3.   

    http://www.china-askpro.com/vbasic19.shtml
      

  4.   

    关闭com口就得关闭它占用它的应用程序。我觉得强行关闭端口不理想,倒不如给它新开一个端口,80不能用我就用88或1000等
      

  5.   

    关闭com口就得关闭它占用它的应用程序。我觉得强行关闭端口不理想,倒不如给它新开一个端口,80不能用我就用88或1000等
    ??????
      

  6.   

    关闭com口就得关闭它占用它的应用程序。我觉得强行关闭端口不理想,倒不如给它新开一个端口,80不能用我就用88或1000等没明白
      

  7.   

    如果Com口不能正常关闭,就只能重起机器了,好像没什么好方法。
      

  8.   

    to CityBird(鹰扬九洲——只有想不到的,没有做不到的) 锼主意?难不成你让我的用户一旦发生故障,就重启?
      

  9.   

    你调试的时候一旦出现问题只能重起,给用户的时候可以在unload中加上关闭的代码!
    第3方空件肯定有关闭COM的函数给你的!
      

  10.   

    to  ftp0697(无) 第三方的组件的关闭端口函数无效啊?有效就不会想其他办法了:(
      

  11.   

    如果Com通讯程序是自己做的,那就好办,在程序出错以后关闭端口就可以了,但是如果Com通讯程序是别人提供的,那就只有期望别人给你提供了关闭的函数。还有一种方法,直接控制串口的寄存器,这在C里比较容易实现,在VB中就不好做了
      

  12.   

    在进入你程序前判断串口是否打开,如果打开,
    加上错误陷阱
    on error resume goto 11 win Api 关闭串口不要用控件
      

  13.   

    to vcbug(今夜最后一次陪你而醉) 
    那么哪个api呢?
      

  14.   

    你的第三方控件在正常情况下是如何关闭串口的?
    把它的关闭方法在错误处理中调用就好了。如果第三方控件有问题,不如干脆扔掉。就用MSCOMM来做。>>用mscomm控件能将别的组件打开的端口关闭吗?
    不能。如果第三方控件能返回正确的设备文件句柄,可以用API将其关闭。不过,如此麻烦,还不如从头用mscomm。