Board index » delphi » D3 COM/Ole Auto vs. VB 5.0

D3 COM/Ole Auto vs. VB 5.0

Hi All,

I'm not sure if this subject has been beaten to death already, but I am
pitching to use Delphi to develop some COM OLE Automation servers. There
is a warring tribe within the company that wants to use VB 5.0 instead.
I'm getting reasonably familir with OLE Automation from the Delphi side
of the fence, but haven't looked much at VB's implementation. Can anyone
send me a bullet list style "starter" list of any of VB 5's limitations
in this arena?

Regards,
Darren Forcier

 

Re:D3 COM/Ole Auto vs. VB 5.0


Quote
Darren J Forcier wrote in message <354F0CF6.FA3E5...@world.std.com>...
>Hi All,

>I'm not sure if this subject has been beaten to death already, but I am
>pitching to use Delphi to develop some COM OLE Automation servers. There
>is a warring tribe within the company that wants to use VB 5.0 instead.
>I'm getting reasonably familir with OLE Automation from the Delphi side
>of the fence, but haven't looked much at VB's implementation. Can anyone
>send me a bullet list style "starter" list of any of VB 5's limitations
>in this arena?

>Regards,
>Darren Forcier

What limitations?
Delphi's support for COM is far superior to VB's although you might have to
read a fair bit of C++ code examples to get to grips with it.

Mike

Re:D3 COM/Ole Auto vs. VB 5.0


Quote
Darren J Forcier wrote:

> Hi All,

> I'm not sure if this subject has been beaten to death already, but I am
> pitching to use Delphi to develop some COM OLE Automation servers. There
> is a warring tribe within the company that wants to use VB 5.0 instead.
> I'm getting reasonably familir with OLE Automation from the Delphi side
> of the fence, but haven't looked much at VB's implementation. Can anyone
> send me a bullet list style "starter" list of any of VB 5's limitations
> in this arena?

> Regards,
> Darren Forcier

The major thing is that VB does not support Inheritance and true objectv
orientation.

This means that VB is great for writing com client, but (!) not for
writing com servers.

I'll try to explain. VB is completely based on com. Every line of code
in VB is handled by a com object. That VB's limitation, and it will
never change. But com does not support inheritance, so no chance that VB
ever will support true OOP programming.

You can easily connect to a com server from VB. Delphi can too.
Delphi however comes wihth a frame work for creating com objects.
In Delphi many com standard methods, such as QueryInterface, AdRef, and
Release are predefined in Classes such as TInterfacedObject.

This means that you can write comservers, using cade that Borland wrote
for you, instaed of having to invent everything yourself!!!!

Really, if you intend to write any comservers, you should use a tool
that allows OOP!! Use C++ if you must, but not VB.
It will save you from a lot of work. Delphi has a great way with com.
You can create simple com servers, just using "wizards" and a lot of
code will be written for you. Delphi is also a great way to learn com.

Re:D3 COM/Ole Auto vs. VB 5.0


I can't imagine developing a substantial piece of software that didn't make
extensive use of subclassing. Developing in VB precludes inheritance or
polymorphism of any kind in your design.  Choosing a tool that can't do
these is like shooting your right leg off before trying to run a marathon.

Regards,

Jim

Re:D3 COM/Ole Auto vs. VB 5.0


Darren,

There was an article in Delphi Informant (one or two issues back) written by
author of "{*word*155} VB..." comparing COM support in both Delphi and VB. I
found it interesting and unbiased.

Robert Perlinski

Quote
Darren J Forcier wrote in message <354F0CF6.FA3E5...@world.std.com>...
>Hi All,

>I'm not sure if this subject has been beaten to death already, but I am
>pitching to use Delphi to develop some COM OLE Automation servers. There
>is a warring tribe within the company that wants to use VB 5.0 instead.
>I'm getting reasonably familir with OLE Automation from the Delphi side
>of the fence, but haven't looked much at VB's implementation. Can anyone
>send me a bullet list style "starter" list of any of VB 5's limitations
>in this arena?

>Regards,
>Darren Forcier

Re:D3 COM/Ole Auto vs. VB 5.0


I understand VB 6 will support inheritance similar to Foxpro (I think).  Got
this from VB Prog Journal.  I am not familiar with Foxpro so I do not know
what  this means.  Plus, we have to wait for the release sometime this year.
There is no doubt Delphi offers more power at a lower level.

Regards,
Ed.

Quote
James Yegerlehner wrote in message <6ir3nf$37...@forums.borland.com>...
>I can't imagine developing a substantial piece of software that didn't make
>extensive use of subclassing. Developing in VB precludes inheritance or
>polymorphism of any kind in your design.  Choosing a tool that can't do
>these is like shooting your right leg off before trying to run a marathon.

>Regards,

>Jim

Re:D3 COM/Ole Auto vs. VB 5.0


Quote
Ed Mazzocca wrote:

> I understand VB 6 will support inheritance similar to Foxpro (I think).  Got
> this from VB Prog Journal.  I am not familiar with Foxpro so I do not know
> what  this means.  Plus, we have to wait for the release sometime this year.
> There is no doubt Delphi offers more power at a lower level.

> Regards,
> Ed.

That sounds unlikely to me. VB is completely based on com mechanisms.
I've seen the type library. Whats more its an interpreter, not a
compiler. It may have a compiler, but the code is has must still run
using the interperreter, so its bound to the limits of a interpreter.

Interpreters cannot possibly support inheritance.
The same is true for com. If you ant to make a com object, it neads to
be compiled. I dont see how VB can really support inheritance. What if
the underlying object where missing at runtime ?? Can't happen with a
compiler !

But who knows the MS guys might be smarter than me.

Edwin Teisman teis...@defacto.nl

Re:D3 COM/Ole Auto vs. VB 5.0


It was an April Fools joke .... don't feel bad, it got me to :(

Ken

Quote
Ed Mazzocca wrote in message <6iti08$...@forums.borland.com>...
>I understand VB 6 will support inheritance similar to Foxpro (I think).
Got
>this from VB Prog Journal.  I am not familiar with Foxpro so I do not know>

Re:D3 COM/Ole Auto vs. VB 5.0


Now that I think about it.  Your probably right!

Ed.

Quote
Ken Boyd wrote in message <6ivfdn$3...@forums.borland.com>...
>It was an April Fools joke .... don't feel bad, it got me to :(

>Ken

>Ed Mazzocca wrote in message <6iti08$...@forums.borland.com>...
>>I understand VB 6 will support inheritance similar to Foxpro (I think).
>Got
>>this from VB Prog Journal.  I am not familiar with Foxpro so I do not
know>

Re:D3 COM/Ole Auto vs. VB 5.0


Ed,

So far this topic has been interesting and informative. Just wanted to nit-pick
about one thing though...

Quote
Edwin Teisman wrote:
> Interpreters cannot possibly support inheritance.

I would beg to differ on that one. I can cite numerous development tools that used
interpretation and supported inheritence, including:

1. Java
2. CA-Clipper 5.2 with the Class(y) add-on tool
3. CA-Visual Objects
4. Borland Visual DBase
5. MS Visual Foxpro 3.0/5.0

Others are out there as well. Smalltalk comes most prominently to mind.

The big issue with runtime interpretation and class inheritence is dealing with
the overhead of late binding. A lot of the implementations I mentioned worked
around that issue with elegant method table management algorithms, hashing ,etc.

As to why VB can't provide that capability, I think it's more of Microsoft's
stubborn "COM is a better OOP than traditional OOP" mentality.

Quote
> But who knows the MS guys might be smarter than me.

Wouldn't bet the farm on that one, you see the benefits of OOP, whereas the
Microsoft view (aside from their C++ work) seems to feel that OOP isn't for the
masses, which is why they haven't put it into VB in 5 releases....
Quote
> Edwin Teisman teis...@defacto.nl

Re:D3 COM/Ole Auto vs. VB 5.0


According to what I have read, COM+ has/will borrow more from java's
inheritance paradigm by similarly providing for simple implementation
inheritance. Surely, this means the addition of inheritance for VB6, yet
still maintaining its absolute integration with Automation.

-Ronan

----------------------------------------------------------------------------
Ronan Mullarkey
Product Development
IONA Technologies PLC.
Dublin, Ireland
http://www.iona.com

*** OrbixCOMet *** ...the next generation in COM/CORBA
interoperability will be available from May 1998.

For free beta download information see our web site or
contact b...@iona.com.
----------------------------------------------------------------------------
-

Quote
Edwin Teisman wrote in message <3552B755.4...@wxs.nl>...
>Ed Mazzocca wrote:

>> I understand VB 6 will support inheritance similar to Foxpro (I think).
Got
>> this from VB Prog Journal.  I am not familiar with Foxpro so I do not
know
>> what  this means.  Plus, we have to wait for the release sometime this
year.
>> There is no doubt Delphi offers more power at a lower level.

>> Regards,
>> Ed.

>That sounds unlikely to me. VB is completely based on com mechanisms.
>I've seen the type library. Whats more its an interpreter, not a
>compiler. It may have a compiler, but the code is has must still run
>using the interperreter, so its bound to the limits of a interpreter.

>Interpreters cannot possibly support inheritance.
>The same is true for com. If you ant to make a com object, it neads to
>be compiled. I dont see how VB can really support inheritance. What if
>the underlying object where missing at runtime ?? Can't happen with a
>compiler !

>But who knows the MS guys might be smarter than me.

>Edwin Teisman teis...@defacto.nl

Re:D3 COM/Ole Auto vs. VB 5.0


Yes, it got me too.  And the original posting about this article came
from the Borland news server.  I fell for it, hook, line, and sinker.

Quote
"Ed Mazzocca" <mazzo...@interlog.com> wrote:
>Now that I think about it.  Your probably right!
>Ken Boyd wrote in message <6ivfdn$3...@forums.borland.com>...
>>It was an April Fools joke .... don't feel bad, it got me to :(

Other Threads