<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Does VBA support interface inheritance? in VBA Forum</title>
    <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934391#M26013</link>
    <description>Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;</description>
    <pubDate>Fri, 06 Apr 2007 19:12:01 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2007-04-06T19:12:01Z</dc:date>
    <item>
      <title>Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934385#M26007</link>
      <description>Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
 various programs require a form to allow user to select some acad&lt;BR /&gt;
collection item&lt;BR /&gt;
ProgA wants a form SelectBlock&lt;BR /&gt;
ProgB wants a form SelectLayer&lt;BR /&gt;
ProgC wants a form SelectDimStyle&lt;BR /&gt;
etc&lt;BR /&gt;
&lt;BR /&gt;
so all those forms could theoretically derive from Ifrm_SelectCollectionItem&lt;BR /&gt;
Ifrm_SelectCollectionItem has a ListBox and two command buttons&lt;BR /&gt;
cmdSelectItem and cmdClose&lt;BR /&gt;
&lt;BR /&gt;
I vaguely understand the idea of interfaces&lt;BR /&gt;
a (virtual) class with method signatures only (empty), implemented by some&lt;BR /&gt;
(concrete) class which implements the interface&lt;BR /&gt;
As a form is also a class, i was wondering if the same can apply to forms&lt;BR /&gt;
&lt;BR /&gt;
Not sure how that would have to be coded&lt;BR /&gt;
Not sure if theres an advantage compared to just 3 simple forms, one for&lt;BR /&gt;
each collection type,&lt;BR /&gt;
or rather one form with a property for which collection to look at,&lt;BR /&gt;
dim f as frmSelectCollectionItem&lt;BR /&gt;
Set f = New frmSelectCollectionItem&lt;BR /&gt;
f.CollectionType = "Blocks"&lt;BR /&gt;
f.Title = "Select Block"&lt;BR /&gt;
f.Show&lt;BR /&gt;
&lt;BR /&gt;
but thought I'd ask to see what the experts might say&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any ideas&lt;BR /&gt;
Mark</description>
      <pubDate>Thu, 05 Apr 2007 17:44:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934385#M26007</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-05T17:44:37Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934386#M26008</link>
      <description>When you do VB/VBA inheritance, you can only use "Implements" keyword to &lt;BR /&gt;
implements a class definition. That is, the class to be implemented is &lt;BR /&gt;
equivalent to C++/C#'s abstract class: only having property/method &lt;BR /&gt;
definition.&lt;BR /&gt;
&lt;BR /&gt;
Although a UserForm in VBA is a class, it is not a "abstract" one. It has a &lt;BR /&gt;
visual portion - Form. With VB/VBA, even, in theory, you can implement a &lt;BR /&gt;
UserForm, you still have to actually add real form in the implementing &lt;BR /&gt;
class, because the base form class is "abstract" class, it does not expose &lt;BR /&gt;
its contents, only its property/method signatures. So, there is not point, &lt;BR /&gt;
or not possible, to have a UserForm that can derive from a base UserForm in &lt;BR /&gt;
VB/VBA without redoing the UserForm in the derived UserForm.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message &lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
 various programs require a form to allow user to select some acad&lt;BR /&gt;
collection item&lt;BR /&gt;
ProgA wants a form SelectBlock&lt;BR /&gt;
ProgB wants a form SelectLayer&lt;BR /&gt;
ProgC wants a form SelectDimStyle&lt;BR /&gt;
etc&lt;BR /&gt;
&lt;BR /&gt;
so all those forms could theoretically derive from Ifrm_SelectCollectionItem&lt;BR /&gt;
Ifrm_SelectCollectionItem has a ListBox and two command buttons&lt;BR /&gt;
cmdSelectItem and cmdClose&lt;BR /&gt;
&lt;BR /&gt;
I vaguely understand the idea of interfaces&lt;BR /&gt;
a (virtual) class with method signatures only (empty), implemented by some&lt;BR /&gt;
(concrete) class which implements the interface&lt;BR /&gt;
As a form is also a class, i was wondering if the same can apply to forms&lt;BR /&gt;
&lt;BR /&gt;
Not sure how that would have to be coded&lt;BR /&gt;
Not sure if theres an advantage compared to just 3 simple forms, one for&lt;BR /&gt;
each collection type,&lt;BR /&gt;
or rather one form with a property for which collection to look at,&lt;BR /&gt;
dim f as frmSelectCollectionItem&lt;BR /&gt;
Set f = New frmSelectCollectionItem&lt;BR /&gt;
f.CollectionType = "Blocks"&lt;BR /&gt;
f.Title = "Select Block"&lt;BR /&gt;
f.Show&lt;BR /&gt;
&lt;BR /&gt;
but thought I'd ask to see what the experts might say&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any ideas&lt;BR /&gt;
Mark&lt;/NOSPAM&gt;</description>
      <pubDate>Thu, 05 Apr 2007 18:27:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934386#M26008</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-05T18:27:21Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934387#M26009</link>
      <description>Thanks Norman,&lt;BR /&gt;
That makes sense and is why I could not imagine how one would actualize the&lt;BR /&gt;
idea.&lt;BR /&gt;
This is also why I still am having trouble understanding the reason why&lt;BR /&gt;
Implementing an Interface is so much preferrable to just using a concrete&lt;BR /&gt;
class in the first place.&lt;BR /&gt;
&lt;BR /&gt;
as you point out...&lt;BR /&gt;
&lt;SNIP&gt;  you can implement &lt;BUT&gt; you still have to actually add real form in&lt;BR /&gt;
the implementing&lt;BR /&gt;
class&lt;BR /&gt;
&lt;BR /&gt;
In any interface, all you get is the method/property "contract"&lt;BR /&gt;
So you still have to "implement" everything in a concrete class.&lt;BR /&gt;
So you end up with two classes, an interface and the implementation.&lt;BR /&gt;
Where as you would get the exact same result with just the concrete class.&lt;BR /&gt;
So in a simple example it's extra complexity for the same result&lt;BR /&gt;
I'm sure in a more complex application it has benefits with multiple&lt;BR /&gt;
developers working independently in different areas but in a one man&lt;BR /&gt;
situation on a simple program I'm not sure if there's any reason to go this&lt;BR /&gt;
route?&lt;BR /&gt;
Any input?&lt;BR /&gt;
&lt;BR /&gt;
Thanks again,&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
"Norman Yuan" &lt;NOTREAL&gt; wrote in message&lt;BR /&gt;
news:5543232@discussion.autodesk.com...&lt;BR /&gt;
When you do VB/VBA inheritance, you can only use "Implements" keyword to&lt;BR /&gt;
implements a class definition. That is, the class to be implemented is&lt;BR /&gt;
equivalent to C++/C#'s abstract class: only having property/method&lt;BR /&gt;
definition.&lt;BR /&gt;
&lt;BR /&gt;
Although a UserForm in VBA is a class, it is not a "abstract" one. It has a&lt;BR /&gt;
visual portion - Form. With VB/VBA, even, in theory, you can implement a&lt;BR /&gt;
UserForm, you still have to actually add real form in the implementing&lt;BR /&gt;
class, because the base form class is "abstract" class, it does not expose&lt;BR /&gt;
its contents, only its property/method signatures. So, there is not point,&lt;BR /&gt;
or not possible, to have a UserForm that can derive from a base UserForm in&lt;BR /&gt;
VB/VBA without redoing the UserForm in the derived UserForm.&lt;/NOTREAL&gt;&lt;/BUT&gt;&lt;/SNIP&gt;</description>
      <pubDate>Thu, 05 Apr 2007 20:21:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934387#M26009</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-05T20:21:02Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934388#M26010</link>
      <description>The power of interfaces is that they allow you to treat different types of &lt;BR /&gt;
concrete classes as if they were the same type.  For example, you can &lt;BR /&gt;
iterate over all IAcadEntity instances in a drawing's modelspace and call &lt;BR /&gt;
their GetBoundingBox method and your iterating code doesn't have to worry &lt;BR /&gt;
that a Circle's GetBoundingBox method is coded different than a Line's &lt;BR /&gt;
GetBoundingBox method.&lt;BR /&gt;
&lt;BR /&gt;
Interfaces also allow new object types to be created and added to drawings &lt;BR /&gt;
without breaking your existing code.  They just have to implement the &lt;BR /&gt;
IAcadEntity interface and your code magically works with them.&lt;BR /&gt;
&lt;BR /&gt;
The additional up front work of creating an interface pays off in the code &lt;BR /&gt;
that accesses different types through a common interface and later on down &lt;BR /&gt;
the road in the maintenance phase, which is the real time saver.&lt;BR /&gt;
-- &lt;BR /&gt;
Bobby C. Jones&lt;BR /&gt;
http://BobbyCJones.spaces.live.com</description>
      <pubDate>Thu, 05 Apr 2007 21:54:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934388#M26010</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-05T21:54:48Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934389#M26011</link>
      <description>What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
 various programs require a form to allow user to select some acad&lt;BR /&gt;
collection item&lt;BR /&gt;
ProgA wants a form SelectBlock&lt;BR /&gt;
ProgB wants a form SelectLayer&lt;BR /&gt;
ProgC wants a form SelectDimStyle&lt;BR /&gt;
etc&lt;BR /&gt;
&lt;BR /&gt;
so all those forms could theoretically derive from Ifrm_SelectCollectionItem&lt;BR /&gt;
Ifrm_SelectCollectionItem has a ListBox and two command buttons&lt;BR /&gt;
cmdSelectItem and cmdClose&lt;BR /&gt;
&lt;BR /&gt;
I vaguely understand the idea of interfaces&lt;BR /&gt;
a (virtual) class with method signatures only (empty), implemented by some&lt;BR /&gt;
(concrete) class which implements the interface&lt;BR /&gt;
As a form is also a class, i was wondering if the same can apply to forms&lt;BR /&gt;
&lt;BR /&gt;
Not sure how that would have to be coded&lt;BR /&gt;
Not sure if theres an advantage compared to just 3 simple forms, one for&lt;BR /&gt;
each collection type,&lt;BR /&gt;
or rather one form with a property for which collection to look at,&lt;BR /&gt;
dim f as frmSelectCollectionItem&lt;BR /&gt;
Set f = New frmSelectCollectionItem&lt;BR /&gt;
f.CollectionType = "Blocks"&lt;BR /&gt;
f.Title = "Select Block"&lt;BR /&gt;
f.Show&lt;BR /&gt;
&lt;BR /&gt;
but thought I'd ask to see what the experts might say&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any ideas&lt;BR /&gt;
Mark&lt;/NOSPAM&gt;</description>
      <pubDate>Fri, 06 Apr 2007 09:46:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934389#M26011</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-06T09:46:59Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934390#M26012</link>
      <description>"Bobby C. Jones"  wrote &lt;BR /&gt;
&lt;BR /&gt;
&amp;gt;&amp;gt; The power of interfaces is that they allow you to &lt;BR /&gt;
&amp;gt;&amp;gt; treat different types of concrete classes as if they &lt;BR /&gt;
&amp;gt;&amp;gt; were the same type.  For example, you can iterate &lt;BR /&gt;
&amp;gt;&amp;gt; over all IAcadEntity instances......&lt;BR /&gt;
&lt;BR /&gt;
Ummmmm...&lt;BR /&gt;
&lt;BR /&gt;
While that's true, the IAcadEntity example you cite is &lt;BR /&gt;
a bit misleading, because in that case, it is more about &lt;BR /&gt;
the power of class/implementation inheritance, and &lt;BR /&gt;
virtual methods, rather than interfaces.&lt;BR /&gt;
&lt;BR /&gt;
IAcadEntity is just the COM interface for AcDbEntity, &lt;BR /&gt;
which is the common base class for all objects that &lt;BR /&gt;
you can see.  &lt;BR /&gt;
&lt;BR /&gt;
In that case, methods like GetBoundingBox are not&lt;BR /&gt;
abstract interface methods, they are wrappers around&lt;BR /&gt;
virtual methods of the underlying classes (AcDbEntity&lt;BR /&gt;
and so on), that can be overridden by the underlying &lt;BR /&gt;
derived classes to provide specialized implementations. &lt;BR /&gt;
&lt;BR /&gt;
In that case, the COM interfaces are simply mirroring &lt;BR /&gt;
the class methods and inheritance, mainly because it &lt;BR /&gt;
makes perfect sense to do that. &lt;BR /&gt;
&lt;BR /&gt;
&amp;gt;&amp;gt; Interfaces also allow new object types to be created &lt;BR /&gt;
&amp;gt;&amp;gt; and added to drawings without breaking your existing &lt;BR /&gt;
&amp;gt;&amp;gt; code.  They just have to implement the IAcadEntity &lt;BR /&gt;
&amp;gt;&amp;gt; interface and your code magically works with them.&lt;BR /&gt;
&lt;BR /&gt;
They must also derive from AcDbEntity as well, and again, &lt;BR /&gt;
the ability to do that has nothing specifically to do with &lt;BR /&gt;
interfaces, the same thing can be done without interfaces.&lt;BR /&gt;
&lt;BR /&gt;
In native or managed ObjectARX for example, if a new &lt;BR /&gt;
type of drawing entity is derived from AcDbEntity, which it &lt;BR /&gt;
must be, then you can cast it to an AcDbEntity and &lt;BR /&gt;
manipulate it as such, without knowing anything about any &lt;BR /&gt;
of the classe(s) that derive from it, up to and including the&lt;BR /&gt;
concrete instance class. More importantly, you can do that &lt;BR /&gt;
without using any interfaces.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com</description>
      <pubDate>Fri, 06 Apr 2007 09:46:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934390#M26012</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-06T09:46:59Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934391#M26013</link>
      <description>Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;</description>
      <pubDate>Fri, 06 Apr 2007 19:12:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934391#M26013</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-06T19:12:01Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934392#M26014</link>
      <description>Mark,&lt;BR /&gt;
With VB6 you can implement the interface of a concrete class, just like the &lt;BR /&gt;
Author is saying.  What you can't do is inherit the implementation of a base &lt;BR /&gt;
class.  You can implement the interface and then delegate calls back to an &lt;BR /&gt;
instance of the base class.  However, having to jump through those kind of &lt;BR /&gt;
coding hoops to "gain results that are equivalent to implementation &lt;BR /&gt;
inheritance" is exactly why I started looking for a language other than VB6.&lt;BR /&gt;
-- &lt;BR /&gt;
Bobby C. Jones&lt;BR /&gt;
http://BobbyCJones.spaces.live.com</description>
      <pubDate>Fri, 06 Apr 2007 21:52:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934392#M26014</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-06T21:52:01Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934393#M26015</link>
      <description>Thanks for those clarifications Tony.&lt;BR /&gt;
-- &lt;BR /&gt;
Bobby C. Jones&lt;BR /&gt;
http://BobbyCJones.spaces.live.com</description>
      <pubDate>Fri, 06 Apr 2007 21:52:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934393#M26015</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-06T21:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934394#M26016</link>
      <description>"Bobby C. Jones" wrote:&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt;&amp;gt; With VB6 you can implement the interface of a &lt;BR /&gt;
&amp;gt;&amp;gt; concrete class, just like the Author is saying.  &lt;BR /&gt;
&amp;gt;&amp;gt; What you can't do is inherit the implementation &lt;BR /&gt;
&amp;gt;&amp;gt; of a base class.  &lt;BR /&gt;
&lt;BR /&gt;
I suppose that's because there is no such thing&lt;BR /&gt;
as a 'base class' in VB6 &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com</description>
      <pubDate>Sat, 07 Apr 2007 02:47:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934394#M26016</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T02:47:52Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934395#M26017</link>
      <description>Sorry but I have to ask if you're talking about VB6&lt;BR /&gt;
or VB.NET ?&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message news:5544438@discussion.autodesk.com...&lt;BR /&gt;
Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;</description>
      <pubDate>Sat, 07 Apr 2007 02:47:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934395#M26017</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T02:47:52Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934396#M26018</link>
      <description>vb6&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544719@discussion.autodesk.com...&lt;BR /&gt;
Sorry but I have to ask if you're talking about VB6&lt;BR /&gt;
or VB.NET ?&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5544438@discussion.autodesk.com...&lt;BR /&gt;
Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;</description>
      <pubDate>Sat, 07 Apr 2007 03:03:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934396#M26018</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T03:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934397#M26019</link>
      <description>Which one did you find? &lt;G&gt;&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Bobby C. Jones" &lt;BJONES&gt; wrote in message&lt;BR /&gt;
news:5544604@discussion.autodesk.com...&lt;BR /&gt;
Mark,&lt;BR /&gt;
With VB6 you can implement the interface of a concrete class, just like the&lt;BR /&gt;
Author is saying.  What you can't do is inherit the implementation of a base&lt;BR /&gt;
class.  You can implement the interface and then delegate calls back to an&lt;BR /&gt;
instance of the base class.  However, having to jump through those kind of&lt;BR /&gt;
coding hoops to "gain results that are equivalent to implementation&lt;BR /&gt;
inheritance" is exactly why I started looking for a language other than VB6.&lt;BR /&gt;
-- &lt;BR /&gt;
Bobby C. Jones&lt;BR /&gt;
http://BobbyCJones.spaces.live.com&lt;/BJONES&gt;&lt;/G&gt;</description>
      <pubDate>Sat, 07 Apr 2007 03:04:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934397#M26019</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T03:04:28Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934398#M26020</link>
      <description>I'm not sure why you're exploring OOP in the&lt;BR /&gt;
context of using a programming langauge that&lt;BR /&gt;
is not really not object oriented.&lt;BR /&gt;
&lt;BR /&gt;
Or are you just warming up to make the big leap ?  &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;BR /&gt;
&lt;BR /&gt;
My advice is to waste no more time studying&lt;BR /&gt;
anything in the context of VB6 because that&lt;BR /&gt;
language is going to fade away. &lt;BR /&gt;
&lt;BR /&gt;
Microsoft, Autodesk and many others have already&lt;BR /&gt;
made it clear that all of their COM/ActiveX based&lt;BR /&gt;
APIs are in "maintainence mode", and I'm sure you&lt;BR /&gt;
know what that means: All new API functionality is&lt;BR /&gt;
going to be exposed via .NET, and not be available &lt;BR /&gt;
to VB6 or VBA based consumers.  &lt;BR /&gt;
&lt;BR /&gt;
The future is .NET and VSTA, and that is where you &lt;BR /&gt;
should be focusing your attention.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message news:5544692@discussion.autodesk.com...&lt;BR /&gt;
vb6&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544719@discussion.autodesk.com...&lt;BR /&gt;
Sorry but I have to ask if you're talking about VB6&lt;BR /&gt;
or VB.NET ?&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5544438@discussion.autodesk.com...&lt;BR /&gt;
Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;</description>
      <pubDate>Sat, 07 Apr 2007 04:28:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934398#M26020</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T04:28:06Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934399#M26021</link>
      <description>I've heard of lots of vbers going to delphi&lt;BR /&gt;
are you going from delpi to .net?&lt;BR /&gt;
do you like .net?&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544711@discussion.autodesk.com...&lt;BR /&gt;
I'm not sure why you're exploring OOP in the&lt;BR /&gt;
context of using a programming langauge that&lt;BR /&gt;
is not really not object oriented.&lt;BR /&gt;
&lt;BR /&gt;
Or are you just warming up to make the big leap ?  &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;BR /&gt;
&lt;BR /&gt;
My advice is to waste no more time studying&lt;BR /&gt;
anything in the context of VB6 because that&lt;BR /&gt;
language is going to fade away.&lt;BR /&gt;
&lt;BR /&gt;
Microsoft, Autodesk and many others have already&lt;BR /&gt;
made it clear that all of their COM/ActiveX based&lt;BR /&gt;
APIs are in "maintainence mode", and I'm sure you&lt;BR /&gt;
know what that means: All new API functionality is&lt;BR /&gt;
going to be exposed via .NET, and not be available&lt;BR /&gt;
to VB6 or VBA based consumers.&lt;BR /&gt;
&lt;BR /&gt;
The future is .NET and VSTA, and that is where you&lt;BR /&gt;
should be focusing your attention.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5544692@discussion.autodesk.com...&lt;BR /&gt;
vb6&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544719@discussion.autodesk.com...&lt;BR /&gt;
Sorry but I have to ask if you're talking about VB6&lt;BR /&gt;
or VB.NET ?&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5544438@discussion.autodesk.com...&lt;BR /&gt;
Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;</description>
      <pubDate>Sat, 07 Apr 2007 04:47:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934399#M26021</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T04:47:06Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934400#M26022</link>
      <description>Prior to .NET, robust AutoCAD developement &lt;BR /&gt;
could not be done with a single high-level&lt;BR /&gt;
API, so I was using a combination of Delphi&lt;BR /&gt;
and C++/ObjectARX (as well as a little LISP).&lt;BR /&gt;
&lt;BR /&gt;
But Delphi was limited to using the same&lt;BR /&gt;
ActiveX API used by VBA, and could only be&lt;BR /&gt;
extended by writing C++ based ActiveX ARX&lt;BR /&gt;
libraries (and is what ACADX was made for).&lt;BR /&gt;
&lt;BR /&gt;
Tying all of it together was a lot of work, and &lt;BR /&gt;
dealing with COM/AutoCAD/ObjectARX version &lt;BR /&gt;
compatiblity was an absolute nightmare.&lt;BR /&gt;
&lt;BR /&gt;
Delphi generates native Win32 code that is&lt;BR /&gt;
much faster than .NET code (in fact, as fast&lt;BR /&gt;
or faster than native C++), and that was the&lt;BR /&gt;
main selling point and only thing it had going &lt;BR /&gt;
for it, once .NET began to gain traction.&lt;BR /&gt;
&lt;BR /&gt;
The question may be presumptious without&lt;BR /&gt;
first considering that to use .NET, you need&lt;BR /&gt;
to also learn some fundamental software&lt;BR /&gt;
engineering concepts and how to apply them,&lt;BR /&gt;
because .NET is not like VBA or VB6, it is&lt;BR /&gt;
more complicated and difficult than the latter&lt;BR /&gt;
and has a much steeper learning curve, but&lt;BR /&gt;
the rewards are worth the effort, if you are&lt;BR /&gt;
planning to do a lot of development or full&lt;BR /&gt;
time programming. &lt;BR /&gt;
&lt;BR /&gt;
OTOH, If you're a CAD manager/weekend &lt;BR /&gt;
programmer, then it may not be worth the&lt;BR /&gt;
major investment in learning.&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message news:5544713@discussion.autodesk.com...&lt;BR /&gt;
I've heard of lots of vbers going to delphi&lt;BR /&gt;
are you going from delpi to .net?&lt;BR /&gt;
do you like .net?&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544711@discussion.autodesk.com...&lt;BR /&gt;
I'm not sure why you're exploring OOP in the&lt;BR /&gt;
context of using a programming langauge that&lt;BR /&gt;
is not really not object oriented.&lt;BR /&gt;
&lt;BR /&gt;
Or are you just warming up to make the big leap ?  &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;BR /&gt;
&lt;BR /&gt;
My advice is to waste no more time studying&lt;BR /&gt;
anything in the context of VB6 because that&lt;BR /&gt;
language is going to fade away.&lt;BR /&gt;
&lt;BR /&gt;
Microsoft, Autodesk and many others have already&lt;BR /&gt;
made it clear that all of their COM/ActiveX based&lt;BR /&gt;
APIs are in "maintainence mode", and I'm sure you&lt;BR /&gt;
know what that means: All new API functionality is&lt;BR /&gt;
going to be exposed via .NET, and not be available&lt;BR /&gt;
to VB6 or VBA based consumers.&lt;BR /&gt;
&lt;BR /&gt;
The future is .NET and VSTA, and that is where you&lt;BR /&gt;
should be focusing your attention.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5544692@discussion.autodesk.com...&lt;BR /&gt;
vb6&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544719@discussion.autodesk.com...&lt;BR /&gt;
Sorry but I have to ask if you're talking about VB6&lt;BR /&gt;
or VB.NET ?&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5544438@discussion.autodesk.com...&lt;BR /&gt;
Thanks Tony,&lt;BR /&gt;
As is obvious, I'm just beginning to learn about interfaces and for that&lt;BR /&gt;
matter object oriented viewpoints&lt;BR /&gt;
Have just started reading VB DesignPatterns by Stamatakis&lt;BR /&gt;
discussing the difference between implementation (not in vb) and interface&lt;BR /&gt;
(in vb) inheritance he shows an example of supposedly interface inheritance&lt;BR /&gt;
&lt;BR /&gt;
But the inheriting "child or subclass" is implementing a concrete class.&lt;BR /&gt;
&lt;BR /&gt;
In the unlikely event that anyone reading this has that book it's on pg 27&lt;BR /&gt;
&lt;BR /&gt;
He shows an axdll concrete class "DomesticDog" with implemented(not empty)&lt;BR /&gt;
methods&lt;BR /&gt;
Then he Implements that concrete class with "GermanShepherd", overriding&lt;BR /&gt;
some methods and delegating to others&lt;BR /&gt;
&lt;BR /&gt;
In every thing I have seen up till now there has never been an example of&lt;BR /&gt;
implementing a concrete class&lt;BR /&gt;
It is alway presented that the interface must be empty(signatures only)&lt;BR /&gt;
&lt;BR /&gt;
Am I misunderstanding?  Can vb implement the interface of a concrete class?&lt;BR /&gt;
That example sounds exactly like Implementation inheritance which as you&lt;BR /&gt;
point out is not possible in vb.&lt;BR /&gt;
He says basically that it's "implementation inheritance coupled with&lt;BR /&gt;
composition to gain results that are equivalent to implementation&lt;BR /&gt;
inheritance"(p26)&lt;BR /&gt;
&lt;BR /&gt;
Thanks for any light you can shine on my dim brain&lt;BR /&gt;
:-)&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5543875@discussion.autodesk.com...&lt;BR /&gt;
What you describe is not interface inheritance, its&lt;BR /&gt;
implementation inheritance.&lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, the only kind of inheritance that VBA&lt;BR /&gt;
can do, is interface inheritance.&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
http://www.caddzone.com&lt;BR /&gt;
&lt;BR /&gt;
AcadXTabs: MDI Document Tabs for AutoCAD 2008&lt;BR /&gt;
Supporting AutoCAD 2000 through 2008&lt;BR /&gt;
http://www.acadxtabs.com&lt;BR /&gt;
&lt;BR /&gt;
"MP" &lt;NOSPAM&gt; wrote in message&lt;BR /&gt;
news:5543087@discussion.autodesk.com...&lt;BR /&gt;
Hi all,&lt;BR /&gt;
kind of thinking out loud here.&lt;BR /&gt;
I was wondering if one can use an interface to create polymorphic forms?&lt;BR /&gt;
sample scenario:&lt;BR /&gt;
snip&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;&lt;/TONY.TANZILLO&gt;&lt;/NOSPAM&gt;</description>
      <pubDate>Sat, 07 Apr 2007 07:03:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934400#M26022</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T07:03:38Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934401#M26023</link>
      <description>Thanks&lt;BR /&gt;
Mark&lt;BR /&gt;
&lt;BR /&gt;
"Tony Tanzillo" &lt;TONY.TANZILLO&gt; wrote in message&lt;BR /&gt;
news:5544757@discussion.autodesk.com...&lt;BR /&gt;
Prior to .NET, robust AutoCAD developement&lt;BR /&gt;
could not be done with a single high-level&lt;BR /&gt;
API, so I was using a combination of Delphi&lt;BR /&gt;
and C++/ObjectARX (as well as a little LISP).&lt;BR /&gt;
&lt;BR /&gt;
But Delphi was limited to using the same&lt;BR /&gt;
ActiveX API used by VBA, and could only be&lt;BR /&gt;
extended by writing C++ based ActiveX ARX&lt;BR /&gt;
libraries (and is what ACADX was made for).&lt;BR /&gt;
&lt;BR /&gt;
snip&lt;/TONY.TANZILLO&gt;</description>
      <pubDate>Sat, 07 Apr 2007 21:37:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934401#M26023</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-07T21:37:58Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934402#M26024</link>
      <description>&amp;gt;&amp;gt;Which one did you find? &lt;G&gt;&lt;BR /&gt;
&lt;BR /&gt;
I use C# for almost all new development.&lt;BR /&gt;
-- &lt;BR /&gt;
Bobby C. Jones&lt;BR /&gt;
http://BobbyCJones.spaces.live.com&lt;/G&gt;</description>
      <pubDate>Mon, 09 Apr 2007 13:25:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934402#M26024</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-09T13:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: Does VBA support interface inheritance?</title>
      <link>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934403#M26025</link>
      <description>&amp;gt;&amp;gt;I suppose that's because there is no such thing&lt;BR /&gt;
&amp;gt;&amp;gt;as a 'base class' in VB6 &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;
&lt;BR /&gt;
True that &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;
-- &lt;BR /&gt;
Bobby C. Jones&lt;BR /&gt;
http://BobbyCJones.spaces.live.com</description>
      <pubDate>Mon, 09 Apr 2007 13:26:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/does-vba-support-interface-inheritance/m-p/1934403#M26025</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2007-04-09T13:26:38Z</dc:date>
    </item>
  </channel>
</rss>

