type
 struct=record
  tempbut: array[0..7] of byte;
  ...
end;point=^struct;procedure xxf.button1click(Sender: TObject);
var 
  q: point;
begin
  with q do
  begin
    tempbuf[0]:=00; //此句话有何不妥,为什么编译能通过,但执行却不行?
  end;end;

解决方案 »

  1.   

    你把tempbuf[0]:=00改为tempbuf[0]:=0试试
      

  2.   

    procedure xxf.button1click(Sender: TObject);
    var 
      q: point;
    begin
      q := new(point);//要给指针分配空间啊!
      with q do
      begin
        tempbuf[0]:=00; //此句话有何不妥,为什么编译能通过,但执行却不行?
      end;
      dispose(q);
    end;
      

  3.   

    procedure xxf.button1click(Sender: TObject);
    var 
      q: point;
    begin
      q := new(point);//要给指针分配空间啊!
      //指针不能用with语句吧.
      q^.tempbuf[0]:=00; 
      dispose(q);
    end;
      

  4.   

    procedure xxf.button1click(Sender: TObject);
    var 
      q: point;
    begin
      q := new(point);//要给指针分配空间啊!
      //指针不能用with语句吧,但下面地写法是可以地,delphi 5测试通过.
      with q^do
        tempbuf[0]:=00;
      end; 
      dispose(q);
    end;