tb0251.pp 561 B

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