Ver Mensaje Individual
  #11  
Antiguo 06-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita