Спасибо большое заменил всё как вы написали.
можно еще спросить в реализации кода класса TSegment:
Код:
//*************TSegment**************************************************
constructor TSegment.Create (const Num: integer);
begin
inherited Create;
FNum := Num;
FFirst := nil;
end;
destructor TSegment.Destroy;
begin
Inherited Destroy;
end;
procedure AddTPage (const Page: TPage);
var
New: TElement;
begin
New := TElement.Create(Page);
New.SetNext (FFirst);
FFirst := New;
end;
procedure TSegment.ClearAll;
var
Temp: TElement;
begin
while Assigned(FFirst) do
begin
Temp := FFirst;
FFirst := FFirst.GetNext;
Temp.Free;
end;
FFirst := nil;
end;
function TSegment.GetFirst: TSegment;
begin
Result := FFirst; // во тут компилятор выдаёт ошибку "Несовместимость типов" TElement и TPage.
end;
function TSegment.GetNum: integer;
begin
Result := FNum;
end;
function TSegment.Delete: TPage;
var
Temp: TElement;
begin
Result:=nil;
if not Assigned(FFirst) then Exit;
Temp := FFirst;
FFirst := FFirst.GetNext;
Result := Temp;
Temp.Free;
end;
procedure TSegment.SetNum (const Value: integer);
begin
FNum := Value;
end;
Спасибо.