MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathematica + OLE?

  • To: mathgroup at
  • Subject: [mg12825] Re: Mathematica + OLE?
  • From: "Merill Lynch" <nick_masterson at>
  • Date: Fri, 12 Jun 1998 18:15:04 -0400
  • Organization: Merill Lynch
  • References: <6lqo83$>
  • Sender: owner-wri-mathgroup at

It is nevertheless possible to implement a sort of OLE Mathematica
server if you know a little about object request brokers and
distributed objects. For example, using a combination of Mathlink and
Orbix (CORBA-compliant C++ ORB software from IONA), one can write a
simple C++ Expression class implementing, say, an Evaluate method,
which merely passes standard Mathematica input to the kernel and
returns a string result (see MathLinkExamples). 

This is then wrapped in IDL (interface definition language) and the
Evaluate method declared as an operation on an interface. A 'server' is
then a simple bit of code which merely instantiates an Expression
object. By using the ActiveX integration tool with Orbix2.3 for NT, the
same IDL is then used to produce a .dll file - a 'broker', through
which the client (eg a Visual Basic application or Excel) sees the
Expression object's Evaluate method exposed as a method in the VB
object browser.

Note that with this architecture, there is not even a requirement for
the Mathematica installation to even be on the same platform as the
client - a Unix installation can be used to create the server, while
the client could be on NT, for example. The ORB handles all the
inter-platform communication.


John Fultz <jfultz at> wrote in article
<6lqo83$o2o at>...
> > In the Mathematica 3.0 book it says that  Mathematica supports "OLE for
> > Windows". Does this mean that Mathematica can be called just like any
> > other object from within an external program (such as an active server
> > page).  If so, do you have to call the mathematica *.exe or does it
> > come with a *.dll for use in Windows applications?
> > 
> > Thanks,
> > Michael Harrison
> No, it means that Mathematica can serve as an OLE client (container),
> although it doesn't currently support all the bells and whistles (for
> example, in-place activation).
> Mathematica does not presently support OLE Automation, nor can it serve
> OLE objects.
> Sincerely,
> John Fultz
> jfultz at
> Front End Group
> Wolfram Research, Inc.

  • Prev by Date: error when moving Notebooks from one PC to another
  • Next by Date: Re: quadric surfaces
  • Previous by thread: Re: Mathematica + OLE?
  • Next by thread: Exporting lists from Mathematica 3.0 to Excel