#pas procedure ThiImg_Polygon._work_doDraw; ... Arr := ReadArray(_data_PointsArray); if Arr <> nil then begin //массив точек из массива if (Arr._Count > 0) then begin SetLength(PointsArray, Arr._Count); for i := 0 to Arr._Count - 1 do begin Ind := _DoData(i); Arr._Get(Ind,di); p := cardinal(ToInteger(di)); PointsArray[i] := MakePoint(p and $FFFF, p shr 16); end; end; end else //массив точек из свойства if Items.Count > 0 then begin SetLength(PointsArray, Items.Count); for i := 0 to Items.Count - 1 do begin p := cardinal(Items.Objects[i]); PointsArray[i] := MakePoint(p and $FFFF, p shr 16); end; end;