Interfaces
From Lazarus wiki
Revision as of 16:54, 17 July 2012 by Sekelsenmat (talk | contribs) (Created page with "Interfaces can be utilized as an alternative solution to the need of multiple inheritance, which Object Pascal currently does not support. ==Full example program== <delphi> ...")
Interfaces can be utilized as an alternative solution to the need of multiple inheritance, which Object Pascal currently does not support.
Full example program
<delphi> program project1;
{$mode delphi} {$interfaces corba}
type
IMyDelegate = interface procedure DoThis (value: integer); end;
TMyClass = class (TInterfacedObject, IMyDelegate) procedure DoThis (value: integer); end;
procedure TestDelegate; var
delegate: TMyClass; intfdelegate: IMyDelegate;
begin
delegate := TMyClass.Create; intfdelegate := IMyDelegate(delegate); intfdelegate.DoThis(1);
end;
{ TMyClass }
procedure TMyClass.DoThis(value: integer); var
Str: string;
begin
WriteLn('Success!!! Type <enter> to continue'); ReadLn(Str);
end;
begin
TestDelegate;
end. </delphi>