61 lines
744 B
ObjectPascal
61 lines
744 B
ObjectPascal
unit ScopedCallsUnit;
|
|
|
|
interface
|
|
|
|
type
|
|
TFirstWidget = class(TObject)
|
|
public
|
|
procedure Configure;
|
|
procedure Reset;
|
|
end;
|
|
|
|
TSecondWidget = class(TObject)
|
|
public
|
|
procedure Configure;
|
|
procedure Reset;
|
|
end;
|
|
|
|
TBaseWidget = class(TObject)
|
|
public
|
|
procedure Prepare;
|
|
end;
|
|
|
|
TDerivedWidget = class(TBaseWidget)
|
|
public
|
|
procedure Run;
|
|
end;
|
|
|
|
implementation
|
|
|
|
procedure TFirstWidget.Configure;
|
|
begin
|
|
Reset;
|
|
end;
|
|
|
|
procedure TFirstWidget.Reset;
|
|
begin
|
|
{ first reset }
|
|
end;
|
|
|
|
procedure TSecondWidget.Configure;
|
|
begin
|
|
Reset;
|
|
end;
|
|
|
|
procedure TSecondWidget.Reset;
|
|
begin
|
|
{ second reset }
|
|
end;
|
|
|
|
procedure TBaseWidget.Prepare;
|
|
begin
|
|
{ base prepare }
|
|
end;
|
|
|
|
procedure TDerivedWidget.Run;
|
|
begin
|
|
Prepare;
|
|
end;
|
|
|
|
end.
|