Delphi Error – E2134 Type ‘%s’ has no type info

Delphi Compiler Error

E2134 Type ‘%s’ has no type info

Reason for the Error & Solution

You have applied the TypeInfo standard procedure to a type identifier which does not have any run-time type information associated with it.

program Produce;

  type
    Data = record
    end;

  var
    v : Pointer;

begin
  v := TypeInfo(Data);
end.

Record types do not generate type information, so this use of TypeInfo is illegal.

program Solve;

  type
    Base = class
    end;

  var
    v : Pointer;

begin
  v := TypeInfo(Base);
end.

A class does generate RTTI, so the use of TypeInfo here is perfectly legal.