tb0251.pp 567 B

12345678910111213141516171819202122232425262728293031323334
  1. { Old file: tbs0291.pp }
  2. { @procvar in tp mode bugss OK 0.99.13 (PFV) }
  3. {$ifdef fpc}{$mode tp}{$endif}
  4. {$F+}
  5. function ReturnString: string;
  6. begin
  7. ReturnString := 'A string';
  8. end;
  9. procedure AcceptString(S: string);
  10. begin
  11. WriteLn('Got: ', S);
  12. if S<>'A string' then
  13. begin
  14. writeln('ERROR!');
  15. halt(1);
  16. end;
  17. end;
  18. type
  19. TStringFunc = function: string;
  20. const
  21. SF: TStringFunc = ReturnString;
  22. var
  23. S2: TStringFunc;
  24. begin
  25. @S2:=@ReturnString;
  26. AcceptString(ReturnString);
  27. AcceptString(SF);
  28. AcceptString(S2);
  29. end.