现在本人要为公司的单片机产品制作相应的Dll控制库
问题如下:(本人初做串口程序)
1、我希望在Dll中实现串口通讯时使用控件,我现在用的是Vacomm
但是今天做的一个例程发现,在Dll中使用"Vacomm"控件可以实现正常的向串口发送数据,但串口数据接收事件怎么也不触发。我是先在Dll的工程中新建了一个Form,然后把控件放上去,所有通讯的方法,在这个Form中实现,Dll的Project中只做接口调用。同样的代码在普通的应用程序中没有任何问题。问是否Dll中真的没有办法触发事件如果真的是这样,我是不是要做一个Timer控件然后不断listen谁用过VaComm,可不可以在Dll中解决接收事件的触发问题。
如果实在不行,你们平时在Dll中做串口通讯时,用的是什么方法最好附例程。
注:
2、用WinApi太复杂,不得意,我不想用它,而且我现在也不会用它。
3、用MSComm实现通讯,听说它发布的时候非常的麻烦,我在Delphi中加入它时为了"证书"
修改注册表都没有用,后来装了VB6才行,发布可能更麻烦
4、Spcomm听说不稳定急急急...
我的Email;[email protected]

解决方案 »

  1.   

    api不麻烦
    spcomm也不像你说的那么不稳定
    个人觉得 api是首选 其次是spcomm
      

  2.   

    DELPHI的软件是全编译绿色软件,一般机器上不需要安装就可以运行,但本软件利用的微软的MSCOMM控件,它在WINDOWS系统操作平台上不是默认安装的,因此你需要手动安装.
    1:首先将本目录下的
      Mscomm.srg, Mscomm32.ocx,Mscomm32.dep ,   把这三个文件拷贝到Windows的system目录下(注意WinXP下是System32)。2:远行一下本目录下的注册表文件:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]
    @="kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
      

  3.   

    >>问是否Dll中真的没有办法触发事件如果真的是这样,我是不是要做一个Timer控件然后不断listen
    可以的,可能你代码有问题,或者Vacomm有问题>>2、用WinApi太复杂,不得意,我不想用它,而且我现在也不会用它。
    mscomm, 我是做工控的,设备都要 7 * 24 运行的,用mscomm很稳定,只有极少数要自己用api写>>3、用MSComm实现通讯,听说它发布的时候非常的麻烦,
    很简单的, 楼上给出了方法>>4、Spcomm听说不稳定
    很稳定
      

  4.   

    api不麻烦
    spcomm也不像你说的那么不稳定
    个人觉得 spcomm是首选 其次是api
      

  5.   

    MSCOMM简单方便 上手快  正如楼上的楼上所说的  只有极少数要自己用api写
      

  6.   

    几天没有来上了,有这么多的朋友帮忙:)我的问题已经解决大半,改用Spcomm可以触发事件
    但现在,我最后一个问题ActiveX控件自定义事件,传递参数问题???
    http://community.csdn.net/Expert/topic/4007/4007207.xml?temp=.6248896
    这个是我新开的贴望大家相助.100送上
    本贴现在结算,大家快到我的新贴上来帮我