Hola de nuevo.
Releyendo vuestros mensajes se me ha ocurrido hacer lo siguiente:
Código:
procedure TForm1.Miprocedimiento(Objeto:IInterface);
begin
if Supports(Objeto,IMyInterface) then
(Objeto as IMyInterface).HacerAlgo()
else
showmessage('este no tiene la interface');
end;
Y ahora si funciona.
También lo puedo hacer con
IUnknown y funciona igualmente.
Gracias
Salu22222