Delphi Error – E2584 Weak attribute only allowed on fields and variables of type class or interface: ‘%s’

Delphi Compiler Error

E2584 Weak attribute only allowed on fields and variables of type class or interface: ‘%s’

Reason for the Error & Solution

This occurs whenever weak references are used with arrays or any other types other than classes and interfaces.

  TMyComponent = class
  private
    [Weak] GiveMe: array of Integer;   // error, an array cannot be weak.
  end;

This can be fixed by using the weak reference with a class instead:

  TMyComponent = class
  private
    [Weak] TS: TStringList; // it’s ok, a class can be weak
  end;

See Also

Share:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

Delphi Compiler Error E2313 Attribute – Known attribute cannot specify properties Reason for the Error & Solution No further information...
Delphi Compiler Error E2379 Virtual methods not allowed in record types Reason for the Error & Solution No further information...
Rodrigo , one of the long time Delphi Developer has been working on one of his personal project “Delphi IDE...