6

I've a follow situation:

TMyFormClass = class of TMyForm

function IsMyClass(AClass: TFormClass);
begin
  Result := AClass is TMyForm      // Operator not applicable to this operand type
  Result := AClass is TMyFormClass // Operator not applicable to this operand type
end;

The both lines does not build, the error is Operator not applicable to this operand type.

How can I do this comparation?

1 Answers1

10

The lhs of the is operator should be an instance, but you have provided a class.

What you need is the InheritsFrom class method:

AClass.InheritsFrom(TMyForm);
David Heffernan
  • 572,264
  • 40
  • 974
  • 1,389