- type
- IDrawable = Interface(IInterface)
- Procedure Render();
- end;
- TButton = Class(TInterfacedObject, IDrawable)
- public
- Procedure Render();
- end;
- Procedure TButton.Render();
- Begin
- writeln('render');
- End;
- Var
- b : TButton;
- d : IDrawable;
- p : Pointer;
- Begin
- b := TButton.Create();
- p := b;
- d := IDrawable(p); // genau hier gibt's die Zugriffsverletzung
- d.Render();
- readln;
- End.