Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2019-03

Implementation through interface delegation not pass to descendant

4 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Zamrony P. Juhara

I repost my question that I post on StackOverflow here in case anyone can answer it. This is my question about implementation of interface through delegation. Parent class is concrete class which implement an interface through delegation but descendant of this class is not considered as concrete class of the interface. Detail of question can be read here
https://stackoverflow.com/q/55160258/5855039
Zamrony P. Juhara
Fano Framework, web application framework for modern Pascal programming language https://fanoframework.github.io

Reply by email

Jonas Maebe
to Zamrony P. Juhara
Zamrony P. Juhara wrote 7 lines
I repost my question that I post on StackOverflow here in case anyone can answer it. This is my question about implementation of interface through delegation. Parent class is concrete class which implement an interface through delegation but descendant of this class is not considered as concrete class of the interface. Detail of question can be read here https://stackoverflow.com/q/55160258/5855039

While the question is not exactly the same, I think the answers to this question are also applicable to yours:
https://stackoverflow.com/questions/4380002/delphi-interface-inheritance-why-cant-i-access-ancestor-interfaces-members

Jonas

Reply by email

Martok
to Zamrony P. Juhara: I repost my question that I post on StackOverflow here in case anyone can answer it. This…
Zamrony P. Juhara wrote
I repost my question that I post on StackOverflow here in case anyone can answer it. This is my question about implementation of interface through delegation. Parent class is concrete class which implement an interface through delegation but descendant of this class is not considered as concrete class of the interface.

I've answered on SO. Don't think it's solvable, because this would need partial delegation on TBClass' implementation of IIntfB from knowledge of the inherited IIntfA, which sounds a bit complex for the compiler...

As a compiler suggestion: this could be made clearer if E5042 would print the interface type name it is missing, such as:
`Error: (5042) No matching implementation for interface method "IIntfB.writeA" found`

Regards, Martok

Reply by email

Zamrony P. Juhara
to Martok

Hi Martok,
Thank you for explanation. 

Zamrony P. Juhara

On Mon, Mar 18, 2019 at 9:04, Martok wrote: Am 17.03.2019 um 15:21 schrieb Zamrony P. Juhara via fpc-pascal:

I repost my question that I post on StackOverflow here in case anyone can answer it. This is my question about implementation of interface through delegation. Parent class is concrete class which implement an interface through delegation but descendant of this class is not considered as concrete class of the interface.

I've answered on SO. Don't think it's solvable, because this would need partial delegation on TBClass' implementation of IIntfB from knowledge of the inherited IIntfA, which sounds a bit complex for the compiler...

As a compiler suggestion: this could be made clearer if E5042 would print the interface type name it is missing, such as:
`Error: (5042) No matching implementation for interface method "IIntfB.writeA" found`

Regards, Martok

Reply by email