Assume you have the following:
//Note the original example I posted didn\'t reproduce the problem so
//I created an clean example
type
IParent = inte
edit: This answer is no longer relevant because it was posted before the original question got modified.
This compiles in Delphi 2010:
type
IParent = interface(IInterface)
function DoSomething: String;
end;
IChild = interface(IParent)
function DoSomethingElse: string;
end;
TMyClass = class(TInterfacedObject, IChild)
private
public
function DoSomething: String;
function DoSomethingElse: String;
end;
// ...
procedure Test;
var
MyObject : IChild;
begin
MyObject := TMyClass.Create;
MyObject.DoSomething;
end;