本帖最后由 zeus177169 于 2011-12-05 20:16:02 编辑

解决方案 »

  1.   


    var
      p: PPoint;
      i: Integer;
      buf: array[0..255] of Char;
    type
      ArrPoint = array of TPoint; {用于转换的自定义类型}
    begin
      p := GetMemory(4 * SizeOf(TPoint));  for i := 0 to 3 do
      begin
        ArrPoint(p)[i].X := i;
        ArrPoint(p)[i].Y := i * i;
      end;  wvsprintf(buf, '%d,%d; %d,%d; %d,%d; %d,%d', PChar(p));
      ShowMessage(buf); {0,0; 1,1; 2,4; 3,9}  FreeMemory(p);
    end;
      

  2.   

    实际上就是数组的类型是指针,而这个指针指向Record罢了。很常用!也很实用!呵呵!
    就像楼上所写的一样!
     //结构体
     MyData = Record
       MyID:string;
       MyName:string;
     end;
     PData = ^MyData; //指向结构体的指针PData //定义数组
     ary : array of PData;
     //分配大小
     SetLength(ary,2);
     //赋值
     ary[0].MyID := 1;
     ary[0].MyName := 'fda';
     ary[1].MyID := 2;
     ary[1].MyName := 'fdaf';