mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 22:47:59 +02:00
49 lines
834 B
ObjectPascal
49 lines
834 B
ObjectPascal
unit ufuncref10;
|
|
|
|
{$mode objfpc}{$H+}
|
|
{$modeswitch functionreferences}
|
|
|
|
interface
|
|
|
|
type
|
|
TTestFunc = reference to function : LongInt;
|
|
|
|
ITestFunc1 = interface(TTestFunc)
|
|
end;
|
|
|
|
ITestFunc2 = interface(ITestFunc1)
|
|
end;
|
|
|
|
ITestFunc3 = interface(TTestFunc)
|
|
function Invoke: String;
|
|
end;
|
|
|
|
ITestFunc4 = interface(TTestFunc)
|
|
function Invoke: String; overload;
|
|
end;
|
|
|
|
ITestFunc5 = interface(TTestFunc)
|
|
function Invoke(aArg: LongInt): LongInt;
|
|
end;
|
|
|
|
ITestFunc6 = interface(TTestFunc)
|
|
function Invoke(aArg: LongInt): LongInt; overload;
|
|
end;
|
|
|
|
ITestFunc7 = interface
|
|
function Invoke(aArg: LongInt): LongInt;
|
|
end;
|
|
|
|
ITestFunc8 = interface(TTestFunc)
|
|
function Foobar: LongInt;
|
|
end;
|
|
|
|
ITestFunc9 = interface(TTestFunc)
|
|
procedure Invoke(aArg: LongInt); overload;
|
|
end;
|
|
|
|
implementation
|
|
|
|
end.
|
|
|