我的问题是关于串口通讯的。
    原先编写的是在win98 Delphi 5下完成的,现在我在北京出差,只有一台装了win2000 Delphi 6的笔记本电脑,手头有源码。设备需要调试,我将源码编译了一遍,除了串口收发数据不正常,其他都可以。    小弟我没有在win2000下编写程序的经验,特请教诸位高手。我的调试程序对端口操作的部分都是用API完成的,CreateFile,WriteFile,ReadFile等等。问,是程序的问题还是对编译器的设置不对造成的?    help me!  SOS

解决方案 »

  1.   

    对不起上面几位,刚才一定是系统有点毛病,浪费你们的时间了,
    sorry  flytiger1977 fredfei(飞飞)
      

  2.   

    to  a12345(唯微)可以,但得给出答案呀。
      

  3.   

    to  hamzsy(十二真空间),这不是个好主意,因为是借用客户的笔记本电脑的。
      

  4.   

    你要使用MSCOMM32.OCX,你需安装Microsoft Stdio.程序段如下:
    端口自己设置吧!
    procedure TForm1.Button1Click(Sender: TObject);
    var
      s:OleVariant;
    begin
      mscomm1.portopen:=true;   //打开Com口
      mscomm1.output:='test';   //发送字串到Com口
      s:=mscomm1.input;         //接收数据
      mscomm1.portopen:=false;  //关闭Comm口
    end;环境:Windows2000 Server 
      

  5.   

    to huangcf(huangcf),没有使用任何控键,如果要改,可能也来不急了。谁能帮忙???
      

  6.   

    98下可对硬件直接操作 2000 Nt下已经限了建议用WDM  NT下的硬件驱动程序来完成 不过我没做过WDM 有这方面的书
      

  7.   

    搞定,搞定,散分!
    其实简单,我在createfile的时候,参数用的不够完全,但是奇怪,为什么98下可以,2000下不可以?那位好心的同志能关心一下?我实在没有空了。具体是这样:     hcom:=createfile(PChar(CFGComm.com),
                    generic_read or generic_write,
                    0,
                    nil,
                    open_existing,
                    FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN
                             or FILE_ATTRIBUTE_NORMAL or FILE_ATTRIBUTE_READONLY,
    //                file_attribute_normal or file_flag_overlapped,
                    0);// 打 开 串 行 口
    用斜杠的参数就不行,但98下可以,为什么一定要加上FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN呢?能不能给自己分?要不然有点亏。谢过诸位。
      

  8.   

    搞定,搞定,散分!
    其实简单,我在createfile的时候,参数用的不够完全,但是奇怪,为什么98下可以,2000下不可以?那位好心的同志能关心一下?我实在没有空了。具体是这样:     hcom:=createfile(PChar(CFGComm.com),
                    generic_read or generic_write,
                    0,
                    nil,
                    open_existing,
                    FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN
                             or FILE_ATTRIBUTE_NORMAL or FILE_ATTRIBUTE_READONLY,
    //                file_attribute_normal or file_flag_overlapped,
                    0);// 打 开 串 行 口
    用斜杠的参数就不行,但98下可以,为什么一定要加上FILE_ATTRIBUTE_ARCHIVE or FILE_ATTRIBUTE_HIDDEN呢?能不能给自己分?要不然有点亏。