Delphi Error – E2017 Pointer type required

Delphi Compiler Error

E2017 Pointer type required

Reason for the Error & Solution

This error message is given when you apply the dereferencing operator ‘^’ to an operand that is not a pointer, and, as a very special case, when the second operand in a ‘Raise <exception> at <address>’ statement is not a pointer.

program Produce;
var
  C: TObject;
begin
  C^.Destroy;
end.

Even though class types are implemented internally as pointers to the actual information, it is illegal to apply the dereferencing operator to class types at the source level. It is also not necessary – the compiler will dereference automatically whenever it is appropriate.

program Solve;
var
  C: TObject;
begin
  C.Destroy;
end.

Simply leave off the dereferencing operator – the compiler will do the right thing automatically.

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...