Hi, Can I, using FPC trunk, do this sintaxe?
type TMemoryManager = class(TInterfacedObject, IMalloc, IErrorInfo) function IMalloc.Alloc = Allocate; procedure IMalloc.Free = Deallocate; ... end; I'm using 2.6.1 and do not works. >From Dephi's (7) help: ---------------------------------- "You can override the default name-based mappings by including method resolution clauses in a class declaration. When a class implements two or more interfaces that have identically named methods, use method resolution clauses to resolve the naming conflicts. A method resolution clause has the form procedure interface.interfaceMethod = implementingMethod; or function interface.interfaceMethod = implementingMethod; where implementingMethod is a method declared in the class or one of its ancestors. The implementingMethod can be a method declared later in the class declaration, but cannot be a private method of an ancestor class declared in another module. For example, the class declaration type TMemoryManager = class(TInterfacedObject, IMalloc, IErrorInfo) function IMalloc.Alloc = Allocate; procedure IMalloc.Free = Deallocate; ... end; maps IMalloc's Alloc and Free methods onto TMemoryManager's Allocate and Deallocate methods. A method resolution clause cannot alter a mapping introduced by an ancestor class." Thanks, Marcos Douglas _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel