如题

解决方案 »

  1.   

    to: netwolfds(晓竹) var str:Olevariant;
       idx: integer;
       b:array [0..255] of byte;
    begin
      for idx:=0 to 255 do
         b[idx]:=idx;
      for idx:=0 to 255 do
        MsComm1.Output:=chr(b);end;前128个都是正确的,后面的都是00H.
     
    请问有什么办法可以解决??
      

  2.   

    to: pazee(耙子) 
    不行,可能是我太笨了,你能写一段代码给我看看吗?
      

  3.   

    我这里没有调试环境,也不能帮上什么忙~~
    以前做钱箱的时候是通过DOS的Type命令显示一个数据文件实现的~~
    如:type temp.dat > COM1
    这里有一份资料请参考~~
    http://www.gkong.com/learn/PLC2PC/pc_delphi.htm
    如果没什么用就当up一下~~
      

  4.   

    的确, MSComm 在发送大于128的字符时有问题,吃过它的亏,所以至今对他不感冒,改用别的方法了。
      

  5.   

    看看这样可以吗:
    var Send: olevariant;
    begin
        SohSend := VarArrayCreate([1,5],VarByte);
        SohSend[1] := $111;
        SohSend[2] := $130;
        SohSend[3] := $141;
        SohSend[4] := $130;
        SohSend[5] := $141;
        com_obj.Output := SohSend;
    end;