line1.points 返回的是一个内存地址值,integer类型的,我怎么把它强制转换类型给p啊,p有如下定义:
type 
Tpoint = record 
   x:real; 
   y:real; 
end;
p :^tpoint; 
我用了p:=Ptr(Line1.Points),但是不能访问p[0];为什么啊,怎么修改,多谢了

解决方案 »

  1.   

    不行啊,用了pointer我的line1属性里的points不可用了
    有谁帮忙把下面这句c++语句变成delphi吗?谢了
    struct TDoublePoint 

    double x, y; 
    }; TDoublePoint* dp = (TDoublePoint*)Line1->Points;(假设线条对象叫做Line1) 
      

  2.   

    type
      TPoint = record
       x: Real;
       y: Real;
      end;
      PPoint = ^TPoint;
      TPoints = array[0..100] of TPoint;
      PPoints = ^TPoints;
    var
      P: ^PPoint;
      D: TPoint;
    begin
      D.x := 123.456;
      P := @D;
      Caption := FloatToStr(PPoints(P)^[0].x);
    end;
      

  3.   

    line1.points的返回值是个地址,我想把它转换成一个地址,赋值给
    type
      TPoint = record
       x: Real;
       y: Real;
      end;
      PPoint = ^TPoint;
      TPoints = array[0..100] of TPoint;
      PPoints = ^TPoints;
    var
      P: ^PPoint;
      D: TPoint;
    begin
      D.x := 123.456;
      P := @D;
      Caption := FloatToStr(PPoints(P)^[0].x);
    end;
    中的哪个值啊