tstatic1.pp 654 B

123456789101112131415161718192021222324252627282930
  1. program tstatic1;
  2. {$APPTYPE console}
  3. {$ifdef fpc}
  4. {$mode delphi}{$H+}
  5. {$endif}
  6. type
  7. TSomeClass = class
  8. public
  9. class procedure SomeClassMethod(A: Integer);
  10. class procedure SomeStaticMethod(A: Integer); static;
  11. end;
  12. { TSomeClass }
  13. class procedure TSomeClass.SomeClassMethod(A: Integer);
  14. begin
  15. WriteLn('TSomeClass.SomeClassMethod: ', A);
  16. end;
  17. // for now fpc requires 'static' modifiers also in the class implementation
  18. class procedure TSomeClass.SomeStaticMethod(A: Integer); {$ifdef fpc} static; {$endif}
  19. begin
  20. WriteLn('TSomeClass.SomeStaticMethod: ', A);
  21. SomeClassMethod(A + 1);
  22. end;
  23. begin
  24. TSomeClass.SomeStaticMethod(1);
  25. end.