RAD Studio (Common)
ContentsIndex
PreviousUpNext
E2167: Abstract methods must be virtual or dynamic

When declaring an abstract method in a base class, it must either be of regular virtual or dynamic virtual type.

program Produce;

  type
    Base = class
      procedure DaliVision; abstract;
      procedure TellyVision; abstract;
    end;

begin
end.

The declaration above is in error because abstract methods must either be virtual or dynamic.

program Solve;

  type
    Base = class
      procedure DaliVision; virtual; abstract;
      procedure TellyVision; dynamic; abstract;
    end;

begin
end.

It is possible to remove this error by either specifying 'virtual' or 'dynamic', whichever is most appropriate for your application.

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!