{ Checa se uma instância de objeto pertence a uma sub-classe de uma
determinada classe }
function IsSubClassOf(AnInstance: TObject; AClass: TClass): boolean;
var
lClassRef: TClass;
begin
lClassRef := AnInstance.ClassType.ClassParent;
repeat
Result := (lClassRef = AClass);
lClassRef := lClassRef.ClassParent;
until Result or (not Assigned(lClassRef));
end;
{ Checa se uma instância de objeto pretence a uma determinada classe }
function IsClassOf(AnInstance: TObject; AClass: TClass): boolean;
begin
Result := (AnInstance.ClassType = AClass);
end;
[As partes desta mensagem que não continham texto foram removidas]