Delphi Error – E2598 Virtual methods not allowed in record helper types

Delphi Compiler Error

E2598 Virtual methods not allowed in record helper types

Reason for the Error & Solution

This occurs whenever a virtual method is declared in helper types.

type
  aRecord = record
  end;
  aHelperRecord = record helper for aRecord
    procedure test; virtual; // issues error: E2598
  end;

You can fix this by either removing the method from the helper type, or by removing the virtual directive from the method.

See Also