在我的开发机上没有问题:我用的DELPHI7,把MSComm.ini文件(对MSCOMM32的参数进行设置)与MSCOMM32.OCX都放置在E:\HMI\Bin\Config\下面,我在Component->Import ActiveX Control->Add
下将MSCOMM32.OCX加入DELPHI7中,然后Create Unit将单元文件创建在E:\HMI\Bin\App\下。在我的串口通信程序中读取INI文件我是用的相对路径:'..\Config\MSComm.ini',然后编译该程序为DLL文件,运行没有问题。 
      但在客户机(没有DELPHI7开发环境)确有问题:将DLL文件复制(不是安装,不要求打包)到客户机D:\MesClient\App\下,将MSComm.ini与MSCOMM32.OCX都放在D:\MesClient\Config\下,运行时确不能初始化,不知道是因为找不到MSComm.ini文件还是因为找不到MSCOMM32.OCX的引用???
      在开发机与客户机上都对MSCOMM32.OCX注册了

解决方案 »

  1.   

    除了注册还要Licenses 注册,
    先用 REGSVR32 进行注册,
    然后在注册表的在HKEY_CLASSES_ROOT\Licenses下建一主键:4250E830-6AC2-11cf-8ADB-00AA00C00905,
    主键的内容为kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun.
    这样试试看,应该可以.
      

  2.   

    '..\Config\MSComm.ini'觉得就是这里的问题
    不清楚你的exe和MSComm.ini是怎样放到客户机中的我一般都是用ExtractFileDir等函数来做的
      

  3.   

    >>将MSComm.ini与MSCOMM32.OCX都放在D:\MesClient\Config\下,运行时确不能初始化,
    直接入到 windows 目錄下的 system32 中,并註冊就可
      

  4.   

    同意一楼的
    在网上下载MSCOMM32控件,一般应该有MSCOMM32.REG文件
    先用 REGSVR32 进行注册,
    然后运行MSCOMM32.REG文件,在HKEY_CLASSES_ROOT\Licenses下就会有主键:4250E830-6AC2-11cf-8ADB-00AA00C00905,
    主键的内容为kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun