动态库我复制了mfc42d.dll,mfco42d.dll,MSVCRTD.DLL到当前文件夹.注册了mscomm控件。
在有vc的机器上正常运行,但是在没有vc的机器上当调用我写的dll时,
就报如题所述的错误。

解决方案 »

  1.   

    你写得DLL也拷贝过去没?
    断言错误,再查查看代码吧。
    另外,以release方式编译,静态链接MFC试试。
    对了,mscomm控件相应的DLL也拷了吧。
      

  2.   

    我写的dll肯定会考过去阿,静态连接我也试过,变成别的错误了,
    mscomm.ocx也拷了,而且也注册了。
      

  3.   

    会不会你的mfc库和机器上的库版本不一致,有冲突?
      

  4.   

    使用release版,并使用静态连接试一下。
      

  5.   

    你拷过去的是debug版本的程序它在运行时会执行ASSERT(_DUBUG)
    你重新release一个再拷过去就没问题了
      

  6.   

    mfc42d.dll,mfco42d.dll,MSVCRTD.DLL  这几个都是DEBUG版本用的啊
      

  7.   

    工程类型和dll版本类型要一致
      

  8.   

    同意 islet8(丗堺第⑧洲) 的观点,另外看一下你调用到的库是Debug版还是release版。它门应该和你的exe版本一致。放到别的机器上你最好用Release静态编译一个exe试一下,
      

  9.   

    应当是你写的串口程序,有问题,
    另外就是出问题的程序不是release版的,
    你设断点看一下,是不是你把接收到的空数据给当成非空数据了.
    在程序中加入这种判断应当就没问题了
      

  10.   

    而且,同gwb0516(小闹)说的,mfc42d.dll,mfco42d.dll,MSVCRTD.DLL都是debug版本的库,你把mfc42.dll,mfco42.dll,MSVCRT.DLL拷过去试试阿~!(注意最后都没有“d”的)