Re: Mathematica + OLE?
- To: mathgroup at smc.vnet.net
- Subject: [mg12825] Re: Mathematica + OLE?
- From: "Merill Lynch" <nick_masterson at ml.com>
- Date: Fri, 12 Jun 1998 18:15:04 -0400
- Organization: Merill Lynch
- References: <email@example.com>
- Sender: owner-wri-mathgroup at wolfram.com
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. Cheers Nick John Fultz <jfultz at wolfram.com> wrote in article <6lqo83$o2o at smc.vnet.net>... > > 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 wolfram.com > Front End Group > Wolfram Research, Inc. > >