Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!news.sprintlink.net!crash!bknuttila
From: barry@cts.com (Barry Knuttila)
Subject: Re: Smalltalk and OLE controls
Organization: Easel Corpoation
Date: Thu, 9 Mar 1995 01:24:49 GMT
Message-ID: <D55oEH.5ME@crash.cts.com>
X-Newsreader: News Xpress Version 1.0 Beta #2
References: <rgiffen.17.002CC328@fox.nstn.ns.ca> <246@manifold.win.net>
Sender: news@crash.cts.com (news subsystem)
Nntp-Posting-Host: bknuttila.cts.com
Lines: 96

tmurphy@manifold.win.net (Thomas Murphy) wrote:
>
>In article <rgiffen.17.002CC328@fox.nstn.ns.ca>, Randy Giffen (rgiffen@fox.nstn.ns.ca) writes:
>>I am interested in methods of developing applications using software
>>components. If OLE controls are going to replace VBX's as standard components,
>>it seems that Smalltalk might be a good enviroment for using them to quickly
>>developing easily customized applications (rather than C++).
>>
>
>>4. Is VisualWorks with DLL and C connect the best Smalltalk environment for
>>using OLE controls?
>>
>
>I don't know about best, it gives you a reasonably quick
>way to wrapper the base api's but you would then be left to
>implement the structure on top of this and handle the
>vtables.
>No smalltalk vendor today has an OLE implementation for
>sale.  I know that Digitalk (my company), ParcPlace and
>Enfin all having working version though and plan to
>provide support.
>In my biased view, Digitalk will provide the strongest
>implementation.  We have very close ties to Microsoft and
>the OLE team and are working on a third generation version
>of support.  We've also been through much of the
>foundation in building support for SOM/DSOM which is
>shipping now.
>So, the real answer is you have to sit back and patiently
>wait.

To answer your question a little more directly Randy, Smalltalk is a
perfect environment for using OLE Controls. In fact it is a great environment
for integrating all the aspects of OLE both as a client and as a server. In
order to let you know a little about what you are being asked to wait for,
I would like to write about the work we are doing on the Enfin development
environment with regards to OLE. I'll try to stick to the facts and try not provide
a biased view.

The availability of system object models is opening up tremendous opportunities
for Smalltalk vendors to build bridges to the island that has been Smalltalk.
One of our main strategies for the future is to break the image barrier and open
up Smalltalk to the world of components. We feel that it is at the language
independent, run-time component level that large scale reuse will finally be
achieved. At this level, implementation language is completely hidden allowing
the best development environment to be used for any specific component
implementation.

Among other things, Smalltalk has always been a great business modeling
language. One thing that could move Smalltalk into the mainstream is if
these wonderfully elegant, maintainable, and extensible models could be
accessed by other development environments as well as be accessed directly
from multiple smalltalk applications as runtime "server objects". OLE provides
this ability and we are demoing a preview of 32 bit Enfin that is exploiting
it as both a producer and consumer of OLE objects.

It turns out that there are many aspects of the Smalltalk environment which allow
us to provide a very easy way to build and use OLE Components. We have been able to
build a framework which takes care of  the drudgery for the developer. Because of
Smalltalk's nature, abstracting an OLE Framework has yielded an environment where
the developer can concentrate on the functionality they wish to use or offer without
the COM management overhead of a lower level approach (reference counting, memory
management, etc.).

OLE Controls provide the same level of reuse on a visual control level.
We are now demoing a preview of Enfin 32 bit Smalltalk with very tight integration
between OLE Controls and our Forms support. The paradigm of Properties, Events
and Methods fits very nicely into our Smalltalk environment. With this support
we are able to "drop" an OLE control onto a form in the same way as using our
existing "Smalltalk Controls" and then use our standard event editor to hook the
control's events and to invoke control's methods in a way that appears to be a normal
message send. In a similar fashion we allow very easy linking, embedding, in-place
activation and drag and drop within our Forms support, as well as access to Automation,
Data Transfer and Structured Storage programatically as an OLE client. The amazing
thing is how easy it is.

Through the work we are now doing, we will not need to wait for 3rd party developers
to work specifically on frameworks and form items for the Enfin environment. We will
open the Enfin development environment up to a gigantic development community who know
that the work they are doing will be reusable within any OLE supporting development
environment. In addition we will provide the ability for corporate developers to use
Smalltalk to produce component that can be easily reused in multiple Smalltalk applications
as well as any other development environment that supports OLE as a client.

Excuse me for the length of this message but even so I have only scratched the surface
on what complete OLE support can mean to a Smalltalk environment.



---------------------------------------------------------------
|             Barry Knuttila                                  |
|				  bknuttila@easel.com                             |
|                                                             |
|				  Easel Corporation                               |
|				  6920 Miramar Road Suite 307                     |
|				  San Diego, CA 92007                             |
---------------------------------------------------------------
