谢谢前面 " dinoalex"前面关于指针释放问题的回答
procedure TForm1.DrawLine;
//(2um,3.3v),(3.5um,5.4V),(5.0um,6v),(6.5um,6.9um);
var
   j:Byte ;begin
  GetMem(PXYPoint,SizeOf(TXYPoint)*255); //感觉这样的方法好笨,一次声明这么大
  //我想进行动态增加,但是自己做了一个方法报错
  ExChange(2,3.3);
  ExChange(3.5,5.4);
  ExChange(5.0,6);
  ExChange(6.5,6.9);
  for j:=1 to i do     //  过程1
  Dec(PXYPoint);
  with pb1.Canvas do
  begin
    MoveTo(25,25);
    for j:=1 to i do
    begin
      LineTo(pxypoint^.X,pxypoint^.y);
      inc(PXYPoint );
    end;
  end;
  for j:=1 to i do //   过程2
  DEC(PXYPoint);   //过程1和2对指针的地址进行偏移,这种感觉也很笨,有什么方法直接的指针
  //起始地址  ?
  FreeMem(PXYPoint,SizeOf(PXYPoint^)*255);end;procedure TForm1.btn1Click(Sender: TObject);
begin
  Self.DrawLine ;
end;procedure TForm1.ExChange(X, Y: Real); //这里面主要是对坐标进行处理,存储在
//PxYPoint指针变量中,
begin   PXYPoint^.X :=Trunc (X/0.1)*5+25;
   PXYPoint^.Y :=Trunc (y/0.1)*5+25;
   Inc(PXYPoint);
   i:=I+1;
end;
问题1:所要优化的内容已经写在注释里面
问题2:当我的PB1.CANVAS被窗体遮挡后,我再点击按钮绘图,会提示invalid of pointer,可是这里面没有把指针赋值为NIL啊,为什么会出现这样的问题呢?谢谢