Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 38 стр.

UptoLike

Составители: 

39
Constructor TScheme.Init;
Begin
inherited Init;
last:=nil;
End;
Destructor TScheme.Done;
Var p,r:PItem;
begin
Для всех элементов группы выполнить:
begin
dispose(r^.ptr,Done);
dispose(p);
end;
end;
Procedure TScheme.HandleEvent(Var Event:TEvent);
Var r:PItem;
Begin
inherited HandleEvent(Event);
if Event.What=evMessage then
begin
{получить доступ к первому элементу}
while (Event.What<>evNothing)and(r<>nil) do
begin
{вызвать HandleEvent очередного элемента}
{перейти к следующему элементу}
end
end
End;
Procedure TDevice.Run;
Var E:TEvent;
Begin
repeat
EndState:=0;
GetEvent(E);
HandleEvent(E);
until Valid;
End;
Function TDevice.Valid:boolean;
Begin
                              39
Constructor TScheme.Init;
Begin
inherited Init;
last:=nil;
End;

Destructor TScheme.Done;
Var p,r:PItem;
begin
Для всех элементов группы выполнить:
   begin
   dispose(r^.ptr,Done);
   dispose(p);
   end;
end;

Procedure TScheme.HandleEvent(Var Event:TEvent);
Var r:PItem;
Begin
inherited HandleEvent(Event);
if Event.What=evMessage then
 begin
 {получить доступ к первому элементу}
  while (Event.What<>evNothing)and(r<>nil) do
  begin
  {вызвать HandleEvent очередного элемента}
  {перейти к следующему элементу}
  end
  end
  End;

Procedure TDevice.Run;
Var E:TEvent;
Begin
repeat
 EndState:=0;
 GetEvent(E);
 HandleEvent(E);
until Valid;
End;
Function TDevice.Valid:boolean;
Begin