Что-то я уже не соображаю) Вроде бы, все верно, ошибок нет, но банально элементы массива значения не присваиваются (остается (0,0)), tmp и tmp2 считываются правильно.
Код:
type pointsarr=array of TPoint;
var Points: TextFile;
Pmas: pointsarr;
masfound: Boolean=False;
...
procedure ReadPoints(var Mas: pointsarr);
var FHandle,tmp,tmp2: Integer;
begin
FHandle := FileOpen('Points.mas', fmOpenRead);
if FileExists('Points.mas')and(GetFileSize(FHandle,nil)>0) then
begin
FileClose(FHandle);
masfound:=True;
AssignFile(Points,'Points.mas');
Reset(Points);
while not Eof(Points) do
begin
SetLength(Mas,Length(Mas)+1);
read(points,tmp);
Readln(points, tmp2);
Mas[Length(Mas)]:=Point(tmp,tmp2);
end;
end
else
...
end;