On Wed, 23 Mar 2005 [EMAIL PROTECTED] wrote:
Quoting Marco van de Voort <[EMAIL PROTECTED]>:
On Tue, 22 Mar 2005, ml wrote:
// than one interface
a := (object as IA); // correct
b := (object as IB); // returns pointer to the first interface
vmt=IA
c := (object as IC); // returns pointer to the first interface
vmt=IA
// there's no way to do again it's like direct call to exception
obj := a; // returns pointer(obj) + 12 ???
This is nonsense. You cannot assign an interface to a class.
A class IMPLEMENTS an interface, it is not an interface.
Ok, its nonsense. I said it already works with my patch, but I guess you
know it better. So my example down there doesn't work (with patch). You
should know.
I (; can't ;) transfer from one interface to other back to object and to
3rd interface. I just imagine my results.
Tell me, what is
obj := a;
supposed to DO ? A class has a set of methods. Some of these methods form
the VMT of an interface. What your code does, is say
"don't use your VMT methods, use these instead' ?
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal