Cita:
Empezado por Virata
En el caso de declarar Objeto como TObject, se produce el siguiente error de compilación:"Operator not aplicable to this operand type" en la línea "(Objeto as IMyInterface).HacerAlgo();" y es por la sentencia as
|
Recién me doy cuenta que en efecto el uso de Supports era incorrecto tal como se había puesto originalmente.
Si aún deseas usar TObject en lugar de IInterface como tipo de datos del parámetro lo puedes hacer con Supports que acepta un tercer parámetro en el que se recibe una interfaz en caso de soportarse:
Código Delphi
[-]
procedure MiProcedimiento(Obj: TObject);
var
Intf: IMyInterface;
begin
if Supports(Obj, IMyInterface, Intf) then
Intf.HacerAlgo();
end;
// Saludos