type
TCallBackFunction=function(s:string):integer;
CallMe(s:string):integer;
procedure TestCallBack(CllBackFunction:TCallBackFunction);far;external 'Other';
function CallMe(s:pchar):integer;
begin
CallMe :=Length(Strpas(strpas(s)));
end;
procedure Form1.Button1Click(Sender:TObject);
TestCallBack(CallMe);
TMainFunction=function(s:string):integer;
TestCallBack(MainFunc:TMainFunc);
TestCallBack(MainFunc:TMainFunction)
var
result:integer;
result :=MainFunc('test');
end;