Hello, FPC developers' list

I have a code with 2 parent-child corba interfaces and 2 parent-child classes:

Intf1 = interface
  ...
end;

Intf2 = interface(Intf1)
  ...
  procedure DoSomething;
end;

Class1 = class
  Intf: Intf1;
  function GetIntf: Intf1; virtual;
end;

Class2 = class
  Intf: Intf2;
  function GetIntf: Intf1; override;
end;

function Class2.GetIntf: Intf1;
begin
  Result := Itnf; // this is Intf2
end;

var
  C: Class2;
  I: Intf2;
...
  I := Intf2(C.GetIntf);

Is this ^^^^ a correct interface cast? If not then how to cast one corba interface to another propely?

I'm asking because without -CR the code compiles and with it gives an error Error: Class or COM interface type expected, but got "Intf2"

Best regards,
Paul Ishenin.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to