var
  buf: array of byte;
begin
...
...
...
Mscomm1.outpub:=Buf; //出错!怎么改正?end;

解决方案 »

  1.   

    哥们!要设置通信方式啊  Mscomm的默认方式是Text的  
    而你发送的却是二进制的....
      

  2.   

    放弃Mscomm吧,建议使用TURBOPOWER,K可以提供一些信息。
      

  3.   

    你编译出现什么错误,你直接把BUF转换为字符型的,在发送不行吗
      

  4.   

    编译时错误:
    [Error] SOptions.pas(247): Incompatible types: 'OleVariant' and 'Array'
    怎么办?
      

  5.   

    你在发送之前先这样转换一下试试
    procedure TForm1.Button1Click(Sender: TObject);
    var
      buf: array [0..8] of byte;
      s:string;
      i:integer;
    begin
      BUF[0]:=$8;
      buf[1]:=$1;
      s:='';
      for i:=0 to sizeof(buf)-1 do
         s:=s+char(buf[0]);
    end;
      

  6.   

    上面错了一句,
      for i:=0 to sizeof(buf)-1 do
         s:=s+char(buf[I]);